Skip to content

Instantly share code, notes, and snippets.

@5509
Created October 10, 2011 16:53
Show Gist options
  • Save 5509/1275788 to your computer and use it in GitHub Desktop.
Save 5509/1275788 to your computer and use it in GitHub Desktop.
customEvent
function _trigger(elm, listener) {
var evtObj = undefined;
if ( 'createEvent' in document ) {
evtObj = document.createEvent('UIEvents');
evtObj.initEvent(listener, false, true);
elm.dispatchEvent(evtObj);
} else
if ( 'createEventObject' in document ) {
evtObj = document.createEventObject();
evtObj.name = listener;
elm.fireEvent('ondataavailable', evtObj);
}
}
function _addEvent(elm, listener, func) {
if ( window.addEventListener ) {
elm.addEventListener(listener, func, false);
} else {
if ( !elm[listener] ) {
elm.attachEvent('ondataavailable', function(evtObj) {
evtObj.func = evtObj.func || {};
evtObj.func[listener] = func;
if ( !evtObj.func[evtObj.name] ) return;
evtObj.func[evtObj.name]();
evtObj.name = null;
});
} else {
elm.attachEvent('on' + listener, func);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment