禁用input輸入框的滑鼠滾輪事件詳解

itwangchen發表於2019-03-05

現代瀏覽器發展的越來越智慧,新增了很多的效果,比如說input輸入框,當將其type設定為number的時候,在其獲得焦點的時候,滾動滑鼠的滾輪可以增加其數值,向上滾動,數值增加,向下滾動,數值減小,但在有些情況的時候並不太適合,比如說在表單中,當表單比螢幕高度大的時候,上面的填完填寫下面的內容的時候,一般人都是直接滾動滑鼠滾輪來滾動液麵,但是如果某個number輸入框還在焦點的時候,滾動滾輪會使其數值改變,這個一般都是不希望的,所以需要禁止掉滾輪的滾動事件。

<!DOCTYPE html>

 <html lang="en"> 

<head> 

     <meta charset="UTF-8">

     <title>禁止input輸入框的滑鼠滾輪事件</title> 

     <script src="http://apps.bdimg.com/libs/jquery/1.11.3/jquery.js"></script> 

</head> 

<body> 

    <input type="number" name="mouse1" id="mouse1"> 

    <!-- 禁止谷歌瀏覽器、Opera瀏覽器以及360瀏覽器等採用谷歌核心的瀏覽器 --> 

    <input type="number" name="mouse2" id="mouse2" onmousewheel="return false;">

    <!-- 禁止Firefox瀏覽器 --> 

    <input type="number" name="mouse3" id="mouse3">

    <script> 

         $("#mouse3")[0].addEventListener('DOMMouseScroll', MouseWheel, false);

        function MouseWheel(event) 

             event = event || window.event; event.preventDefault(); 

         } 

    </script> 

</body> 

</html>

除了Firefox其他瀏覽器的判斷滾輪事件都是通過onmousewheel來判斷,但是Firefox比較特殊,而禁止滾輪事件的時候除了Firefox其他瀏覽器其他直接新增onmousewheel="return false;"就可以了,但是Firefox卻是通過禁止預設行為來禁止(其他瀏覽器採用禁止預設行為是無效的)。

相關文章