【问题标题】:how to trigger onchange event of element with javascript in IE without jQuery [duplicate]如何在没有jQuery的情况下在IE中使用javascript触发元素的onchange事件[重复]
【发布时间】:2013-11-28 21:50:25
【问题描述】:

我需要用 JS 触发 input 的 onchange 事件。现在我正在使用这个:

document.getElementById("myElement").onchange();

但似乎 IE 无法执行该操作。我知道我可以用 jQuery 触发它,但在这个项目中我不能使用它。有没有其他方法可以做到这一点?

【问题讨论】:

标签: javascript html internet-explorer


【解决方案1】:

在 IE 中使用 fireEvent

document.getElementById("myElement").fireEvent('onchange');

对于 IE9+ 使用 dispatchEvent

if(document.fireEvent) {
    document.getElementById("myElement").fireEvent('onchange');
} else {
    var event = document.createEvent("HTMLEvents");
    event.initEvent("change",true,false);

    document.getElementById("myElement").dispatchEvent(event);
}

【讨论】:

  • 这是一个不错的版本,但在 IE8 和 prev 中仍然无法使用。
  • 你能用示例代码做个小技巧吗?
猜你喜欢
  • 2011-01-23
  • 1970-01-01
  • 1970-01-01
  • 2010-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-08
  • 1970-01-01
相关资源
最近更新 更多