点击源代码JavaScript和jQuery,人性化或自动化? [英] Click source in JavaScript and jQuery, human or automated?
问题描述
$( '#targetElement')触发( 'eventName的')。
$('#targetElement')。click();
我遇到一个情况,我应该知道一个元素是如何点击的。我应该知道是否通过代码自动点击,或者按鼠标按钮。有没有办法,没有黑客或解决办法?我的意思是,浏览器的事件对象,JavaScript或jQuery是否有内置的内容,可以告诉我们是否由人类操作或代码启动点击?
尝试这样:
$('#targetElement'生成){
if(generated){
//事件是由代码生成的,而不是用户点击
} else {
//事件是由用户点击生成的。
}
});
然后,为了使这个工作,你必须像这样触发他们:
$('#targetElement')。trigger('click',[true]);参见这个jsfiddle 。
We all know that you can simulate click or any other event on an element using one of these ways:
$('#targetElement').trigger('eventName');
$('#targetElement').click();
I have encountered a situation in which, I should know how an element is clicked. I should know if it's been clicked automatically via code, or by pressing mouse button. Is there anyway I can do it without hacks or workarounds? I mean, is there anything built into browsers' event object, JavaScript, or jQuery that can tell us whether click has been initiated by a human action or by code?
解决方案 Try this:
$('#targetElement').click(function(event, generated) {
if (generated) {
// Event was generated by code, not a user click.
} else {
// Event was generated by a user click.
}
});
Then, to make this work, you have to trigger them like this:
$('#targetElement').trigger('click', [true]);
See this jsfiddle.
这篇关于点击源代码JavaScript和jQuery,人性化或自动化?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!