为什么不在IE中detachEvent fire '9.
Why won't detachEvent fire in IE < 9?
我已经设置了最简单的事件处理程序函数。一切都很好,除了IE中的events.remove()
;9. 所以,换句话说,除了在使用.detachEvent()
的IE版本中删除事件之外,一切都工作得很好。
我一直在IETester和VirtualBox上测试,运行Windows XP和IE8。
events = {
add: (function () {
if (document.documentElement.addEventListener) {
return function (elm, type, func) {
elm.addEventListener(type, func, false);
};
} else if (document.documentElement.attachEvent) {
return function (elm, type, func) {
elm.attachEvent('on' + type, function () {
func.call(elm, window.event);
});
elm = null; //clean up possible memory leaks?
};
}
}()),
remove: (function () {
if (document.documentElement.removeEventListener) {
return function (elm, type, func) {
elm.removeEventListener(type, func, false);
};
} else if (document.documentElement.detachEvent) {
return function (elm, type, func) {
elm.detachEvent('on' + type, function () {
func.call(elm, window.event);
});
elm = null; //clean up possible memory leaks?
};
}
}())
};
这是一个(奇怪的)小提琴
因为您试图分离与绑定的函数不同的函数。
它们都是匿名函数这一事实并不重要。它们是两个不同的函数对象
相关文章:
- 为什么我的ajax在提交用@HtmlRenderPartial加载的表单时只调用fire一次
- JavaScript表单提交没有't fire asp服务器端点击功能的提交按钮
- 如何在 Firebase 的 Angular-Fire 中使用 $save() 来更新对象属性值
- Fire Fox和IE的滚动条自定义设计
- Fire$ng在承诺实现后动画输入
- Ajax load在chrome中不起作用,而在Fire fox中工作
- jQuery Validate-Fire自定义'addMethod'聚焦/按键
- 手动加载Fire domContentLoaded
- fire js函数,当所有脚本都通过CDN交付时
- Javascript代码隐藏中的Fire事件
- 加载未打包的扩展时执行chrome.runtime.oInstalled fire
- Deviceready获胜't fire在Cordova-1.9.0与Android 4.1
- SyntaxError: missing ) after argument list in fire bug
- JavaScript 表单如何提交 fire angularjs 事件
- 来自 javascript 的 Fire Serverside 事件
- Javascript detachEvent,它附加了一个 $.proxy 函数
- Fire jQuery live event with native JavaScript
- 第三个是bean.fire事件中的第三个参数
- 嵌入在HTML文档中的JavaScript在作为文档发送到我的Kindle Fire时会执行吗?
- 为什么不在IE中detachEvent fire '9.