滚轮事件的绑定
- onmousewheel事件是鼠标滚轮的滚动的事件,会在滚轮滚动时触发,但是火狐不支持该属性
box1.onmousewheel = function(){ alert(我滚动了); };
- 在火狐中需要使用DOMMouseScroll来绑定滚动事件,该事件需要通过addEventListener()函数来绑定
box1.addEventListener("DOMMouseScroll",function(){ alert("我滚动了"); },false);
滚轮滚动的方向
- 可以通过Event对象的wheelDelta属性获取滚轮滚动的方向,向上滚,event.wheelDelta的值为120;向下滚,event.wheelDelta的值为-120。event.wheelDelta的值不看大小,只看正负,数值为正就是向上滚,数值为负就i是向下滚
- 火狐中不支持wheelDelta属性
- 在火狐中使用event.detail来获取滚动的方向。向上滚的值为-3,向下滚的值为3
浏览器的滚动条
当滚轮滚动时,滚动事件被触发,如果浏览器有滚动条,滚动条也会随滚轮滚动,可能会影响到绑定的滚动事件,这是浏览器的默认情况,如果不希望发生,则可以取消默认行为
- 在正常绑定的事件中,可以通过return false组阻止默认行为的发生,但是使用addEventListener()方法绑定的响应函数,取消默认行为时不能使用return false
- 通过addEventListener()方法绑定的响应函数需要使用Event对象的preventDefault()方法来取消默认行为(event.preventDefault();)
- 但是IE8不支持event.preventDefault()这个方法,如果直接调用会报错,需要进行兼容