我跟踪并尝试了相关主题的大部分答案,并对此有疑问: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事件会触发另一帧的关闭)。
$("#try").click(function(event) {
if (event.originalEvent === undefined) {
alert('not human')
} else {
alert(' human');
}
});
$('#click').click(function(event) {
// $("#try").click();
$("#try").get(0).click();
});
答案 0 :(得分:3)
尝试使用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');
});