javascript - 由人类或 jQuery 触发的事件

标签 javascript jquery jquery-events

我遵循并尝试了在相关主题中找到的大多数答案,并遇到了以下问题:Check if event is triggered by a human 但由于某种原因(我无法弄清楚),我的代码不起作用。

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

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

而不是

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

问题:

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

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

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

目标:一次仅打开 1 个框架并关闭其他框架(其他框架的关闭将由 jQuery 事件触发)。

test code sample:

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


});

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

最佳答案

尝试使用 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');
});

fiddle here

关于javascript - 由人类或 jQuery 触发的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17207721/

相关文章:

javascript - 如何让此 DELETE 路由在我的 products.js 路由中工作?

javascript - HTML5 视频在 IE9 RC 中失败,但在 IE9 Beta 中失败

javascript - process.stdout,tty$WriteStream。该类型与stream.Writable不兼容

asp.net - jquery ajax post 转到 MVC 4 中的错误操作方法

php - 如何修改示例 Heroku facebook 应用程序以显示 friend 的喜欢

javascript - JsViews 中的数据绑定(bind)

javascript - 滚动浏览所有 fancyBox 画廊

javascript - 使用 D3 Force Directed Graph 使用 jquery 监听事件

javascript - 如何通过引用 JavaScript 中的事件处理程序来传递变量?

javascript - `onclick` 使用 Internet Explorer 9 单击元素时未调用事件