JS禁用鼠標滾輪事件

接到一個需求,要在flash裏面使用鼠標滾輪控制壁紙地板的替換,這本身是一個小需求,但是在網頁測試中發現滾動鼠標滾輪時,網頁也會跟着滾動,這樣鼠標就沒法固定在滾動元件的上面,對用戶體驗造成了不良影響。

然後開始嘗試阻止鼠標滾輪影響頁面,先試用這段代碼:

function disabledMouseWheel() {
  if (document.addEventListener) {
    document.addEventListener('DOMMouseScroll', scrollFunc, false);
  }//W3C
  window.onmousewheel = document.onmousewheel = scrollFunc;//IE/Opera/Chrome
}
function scrollFunc(evt) {
  return false;
}
window.οnlοad=disabledMouseWheel;

發現ie9、chrome、opera都好使,唯獨特殊處理的Firefox 6不行,經過反覆調試發現其它瀏覽器在事件處理函數中return false就行了,Firefox比較特殊,使用以下代碼後測試通過:

function disabledMouseWheel() {
  if (document.addEventListener) {
    document.addEventListener('DOMMouseScroll', scrollFunc, false);
  }//W3C
  window.onmousewheel = document.onmousewheel = scrollFunc;//IE/Opera/Chrome
}
function scrollFunc(evt) {
  evt = evt || window.event;
    if(evt.preventDefault) {
    // Firefox
      evt.preventDefault();
      evt.stopPropagation();
    } else {
      // IE
      evt.cancelBubble=true;
      evt.returnValue = false;
  }
  return false;
}
window.οnlοad=disabledMouseWheel;


轉載自:http://blog.sina.com.cn/s/blog_57f675dd0101e5bh.html

發佈了53 篇原創文章 · 獲贊 125 · 訪問量 184萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章