2

我在这里找到了这个代码片段,可以完美运行,但不适用于 IE。

var testTwo = document.getElementById('testOne')

function eventFire(el, etype){
  if (el.fireEvent) {
    (el.fireEvent('on' + etype));
  } else {
    var evObj = document.createEvent('Events');
    evObj.initEvent(etype, true, false);
    el.dispatchEvent(evObj);
  }
}

function testInt(){
eventFire(testTwo, "click");
};
setInterval(testInt, 3000);

谁能告诉我如何让它在 IE 中工作?

谢谢你

4

2 回答 2

3

尝试

function eventFire(el, etype) {
    var event;
    if (document.createEvent) {
        event = document.createEvent("HTMLEvents");
        event.initEvent(etype, true, true);
    } else {
        event = document.createEventObject();
        event.eventType = etype;
    }

    event.eventName = etype;

    if (el.dispatchEvent) {
        el.dispatchEvent(event);
    } else {
        el.fireEvent("on" + etype, event);
    }
}}

演示:小提琴

取自这个问题的逻辑

于 2013-04-19T13:21:18.773 回答
0

你应该可以fireEvent用来触发事件。 这是关于它的 MSDN 文章

于 2013-04-19T13:22:14.153 回答