willjava

导航

 
 1 if (document.addEventListener) {
 2     var addEvent = function(elem, type, handler) {
 3         elem.addEventListener(type, handler, false)
 4     }
 5     var removeEvent = function(elem, type, handler) {
 6         elem.removeEventListener(type, handler, false)
 7     }
 8 } else {
 9     var addEvent = function(elem, type, handler) {
10         elem.attachEvent("on" + type, handler)
11     }
12     var removeEvent = function(elem, type, handler) {
13         elem.detachEvent("on" + type, handler)
14     }
15 }
16 
17 ...
18 addEvent(elem, "click", function() { alert('hi') })

It works good in most cases, but the handler will lack this in IE, because attachEvent doesn’t provide this.

Fixing this problem may look easy, but it actually isn’t, because of advanced topics like IE<8 memory leaks.

But you don’t need this and don’t care about memory leaks, then the solution is simple and works well.

posted on 2016-04-20 15:17  威尔爪哇  阅读(130)  评论(0编辑  收藏  举报