我遵循并尝试了在相关主题上找到的大多数答案,但在此问题上遇到了问题:Check if event is triggered by a human
但是由于某种原因(我无法弄清楚),我的代码无法正常工作。
与上述回答的问题的唯一区别是我使用了:
$("#try").get(0).click();
代替
$("#try").click();
(这对我不起作用,这就是为什么我使用上面的代码的原因)问题:
$("#try").get(0).click();
始终返回人类触发的事件[对象MouseEvent]。有没有一种方法可以确切地知道单击事件是否是由人为物理触发的,而不更改我使用的事件?
注意:我使用
$("#try").get(0).click();
事件,因为我正在使用框架来显示和隐藏表行信息(切换)。目标:一次只打开一个框架,然后关闭其他框架(另一个框架的关闭将由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