Initial commit
[yaffs-website] / node_modules / livereload-js / lib / customevents.js
1 (function() {
2   var CustomEvents;
3
4   CustomEvents = {
5     bind: function(element, eventName, handler) {
6       if (element.addEventListener) {
7         return element.addEventListener(eventName, handler, false);
8       } else if (element.attachEvent) {
9         element[eventName] = 1;
10         return element.attachEvent('onpropertychange', function(event) {
11           if (event.propertyName === eventName) {
12             return handler();
13           }
14         });
15       } else {
16         throw new Error("Attempt to attach custom event " + eventName + " to something which isn't a DOMElement");
17       }
18     },
19     fire: function(element, eventName) {
20       var event;
21       if (element.addEventListener) {
22         event = document.createEvent('HTMLEvents');
23         event.initEvent(eventName, true, true);
24         return document.dispatchEvent(event);
25       } else if (element.attachEvent) {
26         if (element[eventName]) {
27           return element[eventName]++;
28         }
29       } else {
30         throw new Error("Attempt to fire custom event " + eventName + " on something which isn't a DOMElement");
31       }
32     }
33   };
34
35   exports.bind = CustomEvents.bind;
36
37   exports.fire = CustomEvents.fire;
38
39 }).call(this);