1
0
Fork 0
mirror of https://github.com/futurepress/epub.js.git synced 2025-10-03 14:59:18 +02:00
epub.js/fpjs/render/events.js
2012-12-19 23:00:51 -08:00

38 lines
No EOL
1.1 KiB
JavaScript

FP.events = {}
// -- From Monocle Events
// Fire a custom event on a given target element. The attached data object will
// be available to all listeners at evt.m.
//
// Internet Explorer does not permit custom events; we'll wait for a
// version of IE that supports the W3C model.
//
FP.core.dispatch = function (elem, evtType, data, cancelable) {
if (!document.createEvent) {
return true;
}
var evt = document.createEvent("Events");
evt.initEvent(evtType, false, cancelable || false);
evt.m = data;
try {
return elem.dispatchEvent(evt);
} catch(e) {
console.warn("Failed to dispatch event: "+evtType);
return false;
}
}
// Register a function to be invoked when an event fires.
FP.events.listen = function (elem, evtType, fn, useCapture) {
if (typeof elem == "string") { elem = document.getElementById(elem); }
return elem.addEventListener(evtType, fn, useCapture || false);
}
// De-register a function from an event.
FP.events.deafen = function (elem, evtType, fn, useCapture) {
if (typeof elem == "string") { elem = document.getElementById(elem); }
return elem.removeEventListener(evtType, fn, useCapture || false);
}