Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IE中的点击处理_Javascript_Html_Internet Explorer_Prototypejs_Prototype - Fatal编程技术网

Javascript IE中的点击处理

Javascript IE中的点击处理,javascript,html,internet-explorer,prototypejs,prototype,Javascript,Html,Internet Explorer,Prototypejs,Prototype,我有以下设置: Js原型库 具有onclick事件的范围,该事件调用以下类型的函数: function onClickSuperFunction() { alert('Super function called'); // Bla bla bla many epic things if (someCondition) { $('selectorForSameSpan').click(); // selectorForSameS

我有以下设置:

Js原型库

具有onclick事件的范围,该事件调用以下类型的函数:

function onClickSuperFunction() {
     alert('Super function called');
     // Bla bla bla many epic things
     if (someCondition) {
          $('selectorForSameSpan').click();
          // selectorForSameSpan is a selector for the element that was originally clicked (first click is manunal)
     }
}
在除IE以外的所有浏览器中,一切都正常。在IE中,不会触发单击(在我手动单击元素时触发,但不会触发来自“if”的事件)

另外,如果我更改选择器并模拟单击任何其他元素($('AnyOtherSpanExample')),它工作正常(调用该函数)

所以。。。IE是否阻止自动点击同一元素?也许是反垃圾邮件什么的?而且。。。有工作吗?我真的需要那个点击

注意:如果我使用原型“fire”,同样的情况也会发生


感谢您的帮助。

PrototypeJS默认情况下不支持触发本机浏览器事件

将Event.simulate添加到页面中,它将允许您在PrototypeJS支持的所有浏览器中触发本机事件

计划中将Event.simulate集成到核心中,同时这里是Github的要点


Ty,还是。。。为什么本地呼叫不起作用?通常我会问为什么只有IE很烂但是。。。我已经问过自己很多次了……根据IE的版本,它可能没有元素上的
click()
方法,而是列在事件缓存中。simulate方法为您找到了答案,并从正确的位置启动它。我知道,这是一个很好的解决方案(因此为+1),但不幸的是,我需要批准新的LIB,这通常需要很长时间。因此,在他们批准之前,我需要完成本机。我建议看一下Event.simulate中的代码,并使用它在IE中触发本机事件。这实际上是个好主意。而且也是唯一体面的,所以我接受你的回答。