I'm using this cross browser event handler function.
// crowss browsing event handler
var Event = {
add: function(elem, type, handler) {
if (elem.addEventListener) {
elem.addEventListener(type, handler, false);
} else if (elem.attachEvent) {
elem.attachEvent("on" + type, handler);
} else {
elem["on" + type] = handler;
}
},
remove: function(elem, type, handler) {
if (elem.removeEventListener) {
elem.removeEventListener(type, handler, false);
} else if (elem.detachEvent) {
elem.detachEvent("on" + type, handler);
} else {
elem["on" + type] = null;
}
},
getEvent: function(event) {
return event ? event : window.event;
},
getTarget: function(event) {
return event.target || event.srcelem;
},
preventDefault: function(event) {
if (event.preventDefault) {
event.preventDefault();
} else {
event.returnValue = false;
}
},
stopPropagation: function(event) {
if (event.stopPropagation) {
event.stopPropagation();
} else {
event.cancelBubble = true;
}
}
}
Put this code in 'basicFunctions.js' and other codes are placed in the other file 'main.js'. And if I run the code, chrome displays this error message.
TypeError: Cannot read property 'addEventListener' of null
http://127.0.0.1/js/basicFunctions.js:4&host=127.0.0.1
I don't know the reason of this error.
What is the problem with this code???
This code was written on the book... And when I put this code in 'main.js' with other codes, there was no such error...
And I call this function like this :
Event.add(element,'click',function() {
});