我认为以下代码同时针对IE和Opera
window.onload = function() {
document.attachEvent("onmousewheel", function() {
console.log("mousewheel detected");
});
};
然而,Opera(11.11)根本没有回应。
我试图谷歌这个,但没有得到任何有用的信息。 Opera甚至支持鼠标滚轮事件吗?
组合我试过......
attachEvent
,addEventListener
和mousewheel
,onmousewheel
,DOMMouseScroll
mousewheel
事件确实被Opera所困,问题是我的Opera控制台没有打印出来。 alert
有效。
答案 0 :(得分:0)
您需要处理所有浏览器的兼容性,而不是切换到可能破坏其他浏览器的解决方案。验证您是否可以使用解决方案的最简单方法是“if”。
在这种情况下,您可以使用2种解决方案。 addEventListener&的attachEvent。
var mousewheelevt=(/Firefox/i.test(navigator.userAgent))? "DOMMouseScroll" : "mousewheel" //FF doesn't recognize mousewheel as of FF3.x
if (document.attachEvent) //if IE (and Opera depending on user setting) {
document.attachEvent("on"+mousewheelevt, function(e){alert('Mouse wheel movement detected!')})
else if (document.addEventListener) { //WC3 browsers
document.addEventListener(mousewheelevt, function(e){alert('Mouse wheel movement detected!')}, false)