如何检测任一事件触发器?

时间:2013-06-03 02:39:21

标签: javascript jquery events event-handling

我有一个标识为#input的输入框。当模糊或输入按钮时,此输入框将激活功能。

如何将这两个事件合并为一个?

$('#input')
.keypress(function(e))
.blur(function(event) {
  //Do something
});

3 个答案:

答案 0 :(得分:9)

使用bind()。可以通过包含由空格分隔的每个事件类型来一次绑定多个事件类型:

$('#input').bind('keypress blur', function(event) {
    //Do something
});

或者您可以通过传递事件类型/处理程序对的对象来同时绑定多个事件处理程序:

$('#foo').bind({
  keypress : function(e) {
    e.preventDefault();
    if(e.which == 13) { //Detects enter key depressed!
    // do something on keypress 
    }
  },
  blur: function() {
    // do something on blur
  }
});

答案 1 :(得分:0)

像这样:

$('#input').on('blur keypress', blurKeyPressHandler);

function blurKeyPressHandler(event) {
    if (event.type == 'keypress') {
        // DO SOMETHING
    }
    else if (event.type == 'blur') {
        // DO SOMETHING ELSE
    }
}

答案 2 :(得分:0)

你的意思是这两个事件会调用同一个函数吗?

您可以定义一个函数,并在触发事件时调用它。

`    function dosth (event) {
    //Do something
    };

    $('#input')
    .keypress(dosth)
    .blur(dosth);
`