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.
浙公网安备 33010602011771号