JS阻止瀏覽器滾動事件

2021-08-20 08:06:46 字數 753 閱讀 9684

在前幾天的專案中,場景值如下:

1.動態生成列表,列表高度不固定

2.外面父元素的屬性設定為overflow:auto;

3.滑鼠移動到列—li中的a上,出現選擇列表,滑鼠在列表上,列表不消失

4.當滑鼠放置到出現的列表上時,再滾動滑輪,因為出現的列表為是根據標籤a的位置來進行定位的,所以滾動的時a頁面在滾動,但列表位置雖然沒變,但與原來a標籤相符合的位置卻變了

因為父元素overflow的存在,無法使用hover狀態,超出的部分會隱藏掉或者會出現跳動的狀態。所以就用了如果在a標籤上就阻止頁面的滾動事件,**如下。

//阻止瀏覽器事件

function

disabledmousewheel

() //取消阻止瀏覽器事件

function

canceldismousewheel

()

function

scrollfunc

(evt) else

return

false;

}

跳動狀態如下圖

如有疑問,歡迎交流提問

五,事件物件 阻止瀏覽器預設動作 阻止事件冒泡

在jquery裡邊 bind click function evt click function evt bind mouseover f1 function f1 evt 事件物件 就使用紅色的evt即可,在jquery框架內部有做瀏覽器相容處理。阻止瀏覽器預設動作 阻止事件冒泡 dom2級瀏覽器...

JS停止事件冒泡 阻止瀏覽器預設行為

一 停止事件冒泡 如果提供了事件物件,則這是乙個非ie瀏覽器 if e e.stoppropagation 因此它支援w3c的stoppropagation 方法 e.stoppropagation else 否則,我們需要使用ie的方式來取消事件冒泡 window.event.cancelbubb...

JS阻止事件冒泡以及瀏覽器預設行為

e的相容 function fn e firefox裡的event跟ie裡的不同,ie裡的是全域性變數,隨時可用。firefox裡的要用引數引導才能用,是執行時的臨時變數 在ie opera中是window.event,在firefox中是event。而事件的物件,在ie中是window.event...