Ion*_*ian 5 javascript bookmarklet javascript-events
这是部分代码,而不是完整版.
我有一个突出显示特定html元素的荧光笔mouse hovers.
我也有click event and listener.
我的问题是:highlighter event/listener使用Internet Explorerv6 v7 v8 v9 时不会分离
我究竟做错了什么?
这是我如何附加事件并启动事件监听器:
if (document.body.addEventListener) {
//alert(11);
document.body.addEventListener('mousemove', handler, false);
} else if (document.body.attachEvent) {
//alert(12);
var ff=function(e) {
return handler(e || window.event);
};
//alert(ff);
document.body.attachEvent('onmousemove', ff);
} else {
//alert(13);
document.body.onmousemove = handler;
}
Run Code Online (Sandbox Code Playgroud)
这就是我停止onmousemove/mouse事件/监听器的方法:
if (document.body.removeEventListener) {
document.body.removeEventListener('mousemove', handler, false);
} else if (document.body.detachEvent) {
document.body.detachEvent('onmousemove', function(e) {
return handler(e || window.event);
});
} else {
document.body.removeAttribute("onmousemove");
}
Run Code Online (Sandbox Code Playgroud)
这就是我停止onclick/click事件/监听器的方式:
if (document.body.removeEventListener) {
document.body.removeEventListener('click', ClosetAffairHighlighter.highlightClick, false);
} else if (document.body.detachEvent) {
document.body.detachEvent('onclick', ClosetAffairHighlighter.highlightClick);
} else {
document.body.removeAttribute("onclick");
}
Run Code Online (Sandbox Code Playgroud)
Chr*_* Li 13
基于本文,跨浏览器事件处理程序可以是:
var EventUtil = {
addHandler: function(element, type, handler) {
if (element.addEventListener) {
element.addEventListener(type, handler, false);
} else if (element.attachEvent) {
element.attachEvent("on" + type, handler);
} else {
element["on" + type] = handler;
}
},
removeHandler: function(element, type, handler) {
if (element.removeEventListener) {
element.removeEventListener(type, handler, false);
} else if (element.detachEvent) {
element.detachEvent("on" + type, handler);
} else {
element["on" + type] = null;
}
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9260 次 |
| 最近记录: |