首頁 > web前端 > js教程 > 主體

原生JS綁定滑輪滾動事件相容於常見瀏覽器_javascript技巧

WBOY
發布: 2016-05-16 16:42:51
原創
1526 人瀏覽過

滑輪滾動頁面的事件在網頁特效中進場遇到,但是在不同瀏覽器下的實作方式又不同。下面我實作的方法,相容於常見瀏覽器。

function getData(event){ 
var e = event || window.event; 
//获取滚动距离(FF每次滚动 data为3或者-3,其他为120或者-120) 
var data = e.detail || e.wheelDelta; 
alert(data); 
} 

//IE之外的绑定事件方法 
if(document.addEventListener && !document.attachEvent) 
{ 
document.addEventListener('mousewheel',getData); 
//FF绑定滚动事件 
document.addEventListener('DOMMouseScroll',getData); 
} 
//IE 
else if(document.attachEvent && !document.addEventListener){ 
document.attachEvent('onmousewheel',getData); 
}else{ 
window.onmousewheel = getData; 
}
登入後複製

程式碼中值得注意的地方:

1 為什麼要使用document.addEventListener && !document.attachEvent來區分IE?

attachEvent和detachEvent是IE特有的綁定事件和解綁定事件的方法,只有在IE中存在此方法。但在IE9 瀏覽器中有實作了較通用的addEventListener方法來綁定事件。瀏覽器中有document.addEventListener 方法可以排除不是IE8及其以下版本的,但包含了IE9 瀏覽器,所以後面使用 &&!document.attachEvent來排除IE9 瀏覽器。

2 值得注意的就是在FF瀏覽器中沒有mousewheel事件,觸發滾動的時間是DOMMouseScroll。

3 還有一點值得注意的就是在使用addEventListener綁定事件的時候,事件名前面不加on,而在IE中使用attachEvent綁定事件的時候需要加上on。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!