3

在 javascript/jquery 中,我有一个按钮,它定义了一个 click 事件,如下所示:

$("#target").click(function() {
    var mouse_click = ________________;
    // do stuff
    if (mouse_click) {
        // do stuff  
    }
    // do stuff
});

我也有代码要做

$('#target').click();

如果用户使用鼠标手动单击标签,我怎样才能得到变量mouse_click是,当我使用函数单击标签时变量是?truefalse.click()

谢谢

4

1 回答 1

6

你可以使用这个:

$("#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;

两者都可以,但您可能更喜欢第二种选择,因为它更简洁一些。

它在这里工作:http: //jsfiddle.net/2U3Us/4/

于 2013-06-02T17:13:19.363 回答