点击源代码JavaScript和jQuery,人性化或自动化? [英] Click source in JavaScript and jQuery, human or automated?

查看:119
本文介绍了点击源代码JavaScript和jQuery,人性化或自动化?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们都知道您可以使用以下方式之一来模拟元素上的点击或任何其他事件:

  $( '#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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆