hexonaut / haxe-dom

A cross-platform implementation of the DOM. Built to reduce duplicate code across server and client.
MIT License
47 stars 4 forks source link

IE EventTarget undefined - problem and workaround #31

Open cambiata opened 9 years ago

cambiata commented 9 years ago

Hxdom doesn't work for me out of the box in Internet Explorer 11 (and probably not in earlier versions) - I get an "'EventTarget' is undefined" error, and that halts the whole thing as hxdom_VirtualNode.super = EventTarget.

My workaround is to mock the EventTarget by loading the js code below before the hxdom script. Maybe there are other solutions to this, but I just wanted to share if someone else faces the same problem.

Thanks a lot for this awesome library, Sam! / Jonas

// eventtarget.js

if (EventTarget == undefined) {

    //alert('EventTarget is undefined');

    function EventTarget() {
      var eventTarget = document.createDocumentFragment();
      function delegate(method) {
        this[method] = eventTarget[method].bind(eventTarget);
      }
      [
        "addEventListener",
        "dispatchEvent",
        "removeEventListener"
      ].forEach(delegate, this);
    }
}
hexonaut commented 9 years ago

Ah thanks for this. I should have that mentioned somewhere. I'll leave this task open to remind me. I had a problem with the span html element as well. I just include this code:

window.EventTarget || (window.EventTarget = function () {}); window.HTMLSpanElement || (window.HTMLSpanElement = function () {});