在网上看到一段程序里面的事件绑定程序是这样的,不明白对IE的绑定程序为什么搞的这么复杂?直接用oElement.attachEvent("on" + sEvent,fnHandler)又出错了,高手指教啊,这样写的用意是什么,实在看不明白addHandler: function (oElement, sEvent, fnHandler) {
oElement.addEventListener ? oElement.addEventListener(sEvent, fnHandler, false) :
(oElement["_" + sEvent + fnHandler] = fnHandler,oElement[sEvent + fnHandler] = function () {oElement["_" + sEvent + fnHandler]()}, oElement.attachEvent("on" + sEvent, oElement[sEvent + fnHandler]))
}
oElement.addEventListener ? oElement.addEventListener(sEvent, fnHandler, false) :
(oElement["_" + sEvent + fnHandler] = fnHandler,oElement[sEvent + fnHandler] = function () {oElement["_" + sEvent + fnHandler]()}, oElement.attachEvent("on" + sEvent, oElement[sEvent + fnHandler]))
}
解决方案 »
- 元素移动
- js jQuery 事件绑定问题
- 我用js写的进度条在火狐中可以显示,但在ie6或ie7中不显示
- xml文件调用
- createElement("span");中添加调用方法 ,appendChild(span);那个大侠来帮下忙!在线等待!(三)
- dom操作previousSibling把回车认为是一个元素?
- 求介绍一本asp.net MVC3及JavaScript用于提高的书籍,现在感觉入门了但是不知道该往哪个方向发展了。
- ie下正常运行,firefox下提示有错误
- jscript生成树的问题,有原码
- 请问ad_003.innerHTML=ad_s003.innerHTML;这句是什么意思?
- 怎么限制文本框输入长度啊????????
- js断点进不去。
IE:attachEvent
FF:addEventListener楼主那段代码就是判断使用的浏览器是否支持addEventListener方法,不支持就用attachEvent
oElement["_" + sEvent + fnHandler] = fnHandler;
oElement[sEvent + fnHandler] = function () {oElement["_" + sEvent + fnHandler]()};oElement.attachEvent("on" + sEvent, oElement[sEvent + fnHandler]);
我觉得写成oElement.attachEvent("on" + sEvent,fnHandler)就可以了,但在程序中又出错了,不知道这两个写法有什么区别吗