現代瀏覽器發展的越來越智慧,新增了很多的效果,比如說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卻是通過禁止預設行為來禁止(其他瀏覽器採用禁止預設行為是無效的)。