在jQuery中处理多个事件

时间:2013-09-04 23:37:36

标签: javascript jquery events

我可以转一下:

$(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说我的帖子主要包含代码

2 个答案:

答案 0 :(得分:1)

您可以在案例event.type中使用e.type来确定它是什么事件。

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

在您的情况下,e已经是event,因此e

上没有名为“事件”的属性

答案 1 :(得分: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