2

我关注并尝试了在相关主题上找到的大多数答案,并在此问题上遇到了问题:检查事件是否由人类触发

但由于某种原因(我无法弄清楚),我的代码不起作用。

与上述已回答问题的唯一区别是我使用:

$("#try").get(0).click();

代替

$("#try").click();(这对我不起作用,这就是我使用上面代码的原因)

问题:

$("#try").get(0).click();总是返回人为触发的事件 [object MouseEvent]。

有没有办法在不改变我使用的事件的情况下准确地知道点击事件是否是由人类物理触发的?

注意:我使用$("#try").get(0).click();事件是因为我使用框架来显示和隐藏表格行信息(切换)。

目标:一次只打开一帧并关闭其他帧(另一帧的关闭将由jquery事件触发)。

测试代码示例:

$("#try").click(function(event) {
    if (event.originalEvent === undefined) {
        alert('not human')
    } else {
        alert(' human');
    }


});

$('#click').click(function(event) {
   // $("#try").click();
    $("#try").get(0).click();
});
4

1 回答 1

4

试试看trigger(),但我不知道你为什么不使用$("#try").click();它,为什么它对你不起作用。

$("#try").click(function (event) {
   if (event.originalEvent === undefined) {
     alert('not human')
   } else {
      alert(' human');
   }
});

$('#click').click(function (event) {
  // $("#try").click();
  $("#try").trigger('click');
});

在这里摆弄

于 2013-06-20T07:35:30.157 回答