亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

防止滾動從元素滾動到窗口

防止滾動從元素滾動到窗口

慕姐8265434 2019-12-27 09:51:15
我有一個模態框窗口(彈出窗口),其中包含一個iframe,并且在該iframe中有一個可滾動的div。當我滾動iframe的內部DIV并達到其上限或下限時,瀏覽器本身的窗口就會開始滾動。這是不想要的行為。我已經嘗試過類似的方法,當鼠標進入彈出框區域時,該方法會在onMouseEnter時殺死主窗口滾動:e.preventDefault()由于某些原因無法正常工作...$("#popup").mouseenter(function(){   $(window).bind("scroll", function(e){        e.preventDefault();   }); }).mouseleave(function(){    $(window).unbind("scroll");});更新資料似乎現在2013年e.preventDefault();就足夠了...
查看完整描述

3 回答

?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

抱歉,據我所知,無法取消任何滾動事件。


無論W3和MSDN說:


Cancelable  No

Bubbles     No

我認為您必須將這個問題留給瀏覽器作者來解決。Firefox(無論如何,在Linux上為3.5)對我來說似乎都有更好的表現:在您開始使用滾輪時,如果子代已經位于頂端/底端,它只會滾動父代。


查看完整回答
反對 回復 2019-12-27
?
MYYA

TA貢獻1868條經驗 獲得超4個贊

使用簡單的CSS屬性解決了(對于某些瀏覽器):

overscroll-behavior

body{

  height: 600px;

  overflow: auto;

}


section{

  width: 50%;

  height: 50%;

  overflow: auto;

  background: lightblue;

  overscroll-behavior: none; /*   <--- the trick    */

}


section::before{

  content: '';

  height: 200%;

  display: block;

}

<section>

 <input value='end' />

</section>

只需將樣式屬性應用到滾動應該“鎖定”到的元素上,滾動事件就不會冒泡到任何可能具有滾動的父元素。


與上面相同的演示,但沒有技巧:

body{

  height: 600px;

  overflow: auto;

}


section{

  width: 50%;

  height: 50%;

  overflow: auto;

  background: lightblue;

}


section::before{

  content: '';

  height: 200%;

  display: block;

}

<section>

 <input value='end' />

</section>


查看完整回答
反對 回復 2019-12-27
  • 3 回答
  • 0 關注
  • 722 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號