Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript/jquery中区分鼠标单击和.click()?_Javascript_Jquery_Html_Click - Fatal编程技术网

如何在javascript/jquery中区分鼠标单击和.click()?

如何在javascript/jquery中区分鼠标单击和.click()?,javascript,jquery,html,click,Javascript,Jquery,Html,Click,在javascript/jquery中,我有一个按钮,它有一个单击事件,定义如下: $("#target").click(function() { var mouse_click = ________________; // do stuff if (mouse_click) { // do stuff } // do stuff }); 我还有代码要做 $('#target').click(); 如果用户使用鼠标手动单击标记,并且

在javascript/jquery中,我有一个按钮,它有一个单击事件,定义如下:

$("#target").click(function() {
    var mouse_click = ________________;
    // do stuff
    if (mouse_click) {
        // do stuff  
    }
    // do stuff
});
我还有代码要做

$('#target').click();
如果用户使用鼠标手动单击标记,并且当我使用
.click()函数单击标记时,变量
mouse\u click
true
,如何使变量
false

谢谢

您可以使用这个:

$("#target").click(function(e) {
    var mouse_click = !(e.originalEvent === undefined);
    // do stuff
    if (mouse_click) {
        // do stuff  
    }
    // do stuff
});
或者您可以检查
e.isTrigger
,只要jQuery中触发事件,就会设置它。您只需将第二行更改为:

var mouse_click = !e.isTrigger;
两者都可以,但您可能更喜欢第二个选项,因为它更简洁


这里它起作用了:

谢谢,我刚用了副本中的答案,它起作用了。使用
有什么理由吗这里是接线员吗?我知道JS有时会进行奇怪的转换,但我倾向于更简单的
!(e.originalEvent==未定义)
!e、 isTrigger
,我自己。@XavierHolt-说得好,我一定忘了。我刚刚更新了我的答案和小提琴。