0

我有以下设置:

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”的事件)。

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

那么... IE 是否会阻止自动点击同一元素?也许是反垃圾邮件?而且...任何解决方法?我真的需要那个点击。

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

谢谢您的帮助。

4

1 回答 1

1

PrototypeJS 默认不支持触发原生浏览器事件。

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

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

https://github.com/kangax/protolicious/blob/5b56fdafcd7d7662c9d648534225039b2e78e371/event.simulate.js

于 2013-08-20T14:28:47.363 回答