2 * Method to set dom events
5 * wysihtml5.dom.observe(iframe.contentWindow.document.body, ["focus", "blur"], function() { ... });
7 wysihtml5.dom.observe = function(element, eventNames, handler) {
8 eventNames = typeof(eventNames) === "string" ? [eventNames] : eventNames;
13 length = eventNames.length;
15 for (; i<length; i++) {
16 eventName = eventNames[i];
17 if (element.addEventListener) {
18 element.addEventListener(eventName, handler, false);
20 handlerWrapper = function(event) {
21 if (!("target" in event)) {
22 event.target = event.srcElement;
24 event.preventDefault = event.preventDefault || function() {
25 this.returnValue = false;
27 event.stopPropagation = event.stopPropagation || function() {
28 this.cancelBubble = true;
30 handler.call(element, event);
32 element.attachEvent("on" + eventName, handlerWrapper);
40 length = eventNames.length;
41 for (; i<length; i++) {
42 eventName = eventNames[i];
43 if (element.removeEventListener) {
44 element.removeEventListener(eventName, handler, false);
46 element.detachEvent("on" + eventName, handlerWrapper);