我遵循并尝试了在相关主题中找到的大多数答案,并遇到了以下问题: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();
});
最佳答案
尝试使用 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');
});
关于javascript - 由人类或 jQuery 触发的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17207721/