gpt4 book ai didi

javascript - 为什么单击事件在 Firefox 中可以正常工作,但在 IE 中却不行

转载 作者:行者123 更新时间:2023-11-30 18:16:05 24 4
gpt4 key购买 nike

这是一个简单的场景,点击事件在 Firefox 中运行良好,但在 IE 中运行不正常。让我们进入细节。我有一个如下所示的按钮:

<h:form id="theForm">
<h:commandLink id="theButton" styleClass="button" action="#{theBean.doWork}"/>
</h:form>

当我尝试像这样从 JavaScript 调用按钮的点击事件时:

document.getElementById('theForm:theButton').click();

根据这个thread ,我需要像这样把代码放在下面:

<script language="javascript" type="text/javascript">
HTMLElement.prototype.click = function() {
var evt = this.ownerDocument.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
this.dispatchEvent(evt);
}

但是当我的 JavaScript 中有这段代码时,它在 Firefox 中确实有效,但在 IE 中就不行了。我可以知道如何让它在 IE 和 Firefox 上工作吗?

最佳答案

尝试:

if(!HTMLElement){
var HTMLElement = Element;
}
HTMLElement.prototype.click = function() {
var evt = this.ownerDocument.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
this.dispatchEvent(evt);
}

这应该适用于 IE>=8,它使用 Element 提供与 HTMLElement 在其他浏览器中相同的界面。

关于javascript - 为什么单击事件在 Firefox 中可以正常工作,但在 IE 中却不行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13206421/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com