相关疑难解决方法(0)

IE中的自定义事件,不使用库

我的任务是在不使用任何库(如jQuery或原型)的情况下在文档上触发自定义事件.

所以我对Firefox这样做很好:

function fireCustomEvent(eventData)
{
    if (document.createEvent)   // Firefox
    {
        var event = document.createEvent('HTMLEvents');    // create event
        event.initEvent('myCustomEvent', true, true );     // name event
        event.data = eventData;                            // put my stuff on it
        document.dispatchEvent(event);                     // fire event
    }
    else if (document.createEventObject)    // IE
    {
        xxxxxxxxxxx
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我可以像这样开火:

fireCustomEvent({
    category: 'test',
    value: 123
});
Run Code Online (Sandbox Code Playgroud)

并像这样捕获它(这里我可以使用jQuery):

$(document).bind('myCustomEvent', function (event) {
    doStuff(event);
});
Run Code Online (Sandbox Code Playgroud)

我的问题是,我可以做些什么来使这项工作在IE上(换句话说,我把xxxxxxxxxxx放在哪里)?

我认为IE等效应该看起来像这样:

 var event = document.createEventObject();
 event.data = eventData;
 document.fireEvent('myCustomEvent', event);
Run Code Online (Sandbox Code Playgroud)

但这不起作用.IE让我只使用预定义的事件名称(onclick等),甚至其中一些不起作用(例如onmessage)

任何帮助或想法表示赞赏!

javascript events internet-explorer

22
推荐指数
2
解决办法
2万
查看次数

标签 统计

events ×1

internet-explorer ×1

javascript ×1