1

我可以转这个吗:

$(document).bind("mousedown", function(){
    n = 1;
});  

$(document).bind("mouseup", function(){
    n = 2;
});  

$(document).bind("mousemove", function(){
    n = 3;
});  

变成这样:

$(document).bind("mousemove mouseup mousedown", function(e){
    if (e.event == mousemove){
        n = 3;
    }
});  

添加更多文本,因为 stackoverflow 说我的帖子主要包含代码

4

2 回答 2

1

您可以event.type在您的情况下使用e.type来确定它是什么事件。

$(document).bind("mousemove mouseup mousedown", function(e){
    if (e.type== "mousemove"){
        n = 3;
    }...
});  

在你的情况下e已经是一个event所以没有称为事件的属性e

于 2013-09-04T23:40:04.677 回答
1

与其尝试这样做,不如使用 if 语句来检查事件:

$(document).bind("mousemove mouseup mousedown", function(e){
    if (e.type == mousemove){
        n = 3;
    } else if {
        //some code
    } ...   
});

你可以简单地:

$( document ).bind({
       mousemove: function() {
       n = 3;
    },
       mouseup: function() {
       // Do something on mouseup
    },
       mousedown: function() {
       // Do something on mousedown
    }

});

代码更干净,它应该执行得更快。

如 JQuery API 文档所示。 http://api.jquery.com/bind/#multiple-events

于 2013-09-04T23:46:43.467 回答