Skip to content

Instantly share code, notes, and snippets.

@shenqihui
Last active August 29, 2015 14:09
Show Gist options
  • Save shenqihui/833a2cfae9152a3632c5 to your computer and use it in GitHub Desktop.
Save shenqihui/833a2cfae9152a3632c5 to your computer and use it in GitHub Desktop.
bind_event.js
// bind event function
function bind_event(elem, ev, fn) {
//elem object
//ev event
//fn function
if (typeof elem == "undefined" || typeof ev == "undefined" || typeof fn == "undefined" || elem === null) {
return false;
}
if (elem.addEventListener) {
elem.addEventListener(ev, fn, false);
} else if (elem.attachEvent) {
// IE
elem.attachEvent('on' + ev, function(e) {
fn.call(elem, e);
})
} else {
// incase of lower version IE, this pointer assign to the element by special call method. And don't forget the old function of this element's event
var oldhandler = elem["on" + ev];
elem["on" + ev] = function(e) {
fn.call(elem, e);
if (typeof oldhandler == "function") oldhandler.call(elem, e);
};
}
}
function(elem, ev, fn) {
elem.attachEvent ? elem.attachEvent("on" + ev, function(e) {
e.call(elem, e)
}) : elem.addEventListener && elem.addEventListener(ev, fn, true)
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment