jquery - JavaScript/jQuery – 如何区分触发点击和用户点击?

标签 jquery triggers click

这个问题看起来很相似 In Jquery, how can I tell between a programatic and user click?

但是我无法获取它,我的代码

<div class="sample_class" onclick="sample_fn(arg1,arg2,arg3,arg4, e);" ></div>
<div class="trigger_class" onclick="trigger_fn()></div>


function sample_fn(arg1,arg2,arg3,arg4, e){
    console.log(e) ;
    console.log(e.isTrigger);
    console.log(e.hasOwnProperty('originalEvent'));
}


function trigger_fn(){
    $(".sample_class").trigger("click")
}

点击 div.sample_class 我进入控制台 目的 不明确的 错误

点击 div.tigger_class 我在控制台中得到同样的结果 目的 不明确的 错误

我无法区分这两次点击。 提前致谢

最佳答案

更新:从 jQuery 1.7+ 开始,事件对象(下面代码中的 e)对象将包含名为 e.isTrigger 的属性> 如果事件被触发,则为 true;如果未触发,则为未定义;这是没有记录的,所以在使用它之前检查一下( demo )。如果使用旧版本的 jQuery,请使用下面的代码。

<小时/>

将标志传递给您的函数可能会更容易。这是demo :

HTML

<button>Trigger a click below</button>

<div id="test">Click Me</div>​

脚本

​$('#test').click(function(e, triggered){
    var msg = (triggered) ? ', triggered' : '';
    console.log('clicked' + msg);
});​​

$('button').click(function(){
    // pass a true flag to the click function to indicate
    // it's been triggered
    $('#test').trigger('click', true);
});
<小时/>

更新:数据属性可以包含有效的 JSON,该 JSON 会自动转换为对象 ( demo ):

<div class="test" data-args='{ "quantity": 1, "type": "pizza", "extra1": "peperoni", "extra2": "cheese", "extra3": "cheesy bread" }'>Click Me</div>

请注意,data-arg 使用单引号来包含 JSON,但内部的 JSON 必须在每个键和值周围使用双引号(除非它是数字)。

然后使用data方法提取信息:

var args = $(this).data('args');

或者,您可以为每个参数创建一个单独的数据属性 ( demo ):

<div class="test" data-quantity="1" data-type="pizza" data-extra1="peperoni" data-extra2="cheese" data-extra3="cheesy bread">Click Me</div>

然后使用从元素收集所有数据,如下所示:

var args = $(this).data();

关于jquery - JavaScript/jQuery – 如何区分触发点击和用户点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10933774/

相关文章:

mysql - 创建表后触发

mysql - 使用触发器将所有密码状态重置为零

android - 回收站 View 不响应点击

javascript - 单击时将 div move 到最高视口(viewport)

javascript - innerHTML 不适用于 span 标签

javascript - ajax函数的问题

mysql - MySQL中如何使用触发事件来防止某个用户被删除

Javascript onclick 和 ondblclick 在同一按钮中

javascript - 如何在点击时切换类

javascript - 更改时附加数据属性监听器