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

Javascript 如何检测任一事件触发器?,javascript,jquery,events,event-handling,Javascript,Jquery,Events,Event Handling,我有一个id为#input的输入框。当按下模糊或回车按钮时,此输入框将激活一项功能 如何将这两个事件合并为一个 $('#input') .keypress(function(e)) .blur(function(event) { //Do something }); 使用。通过包含由空格分隔的每个事件类型,可以一次绑定多个事件类型: $('#input').bind('keypress blur', function(event) { //Do something }); 或者,

我有一个id为
#input
的输入框。当按下模糊或回车按钮时,此输入框将激活一项功能

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

$('#input')
.keypress(function(e))
.blur(function(event) {
  //Do something
});
使用。通过包含由空格分隔的每个事件类型,可以一次绑定多个事件类型:

$('#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
  }
});
像这样:

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

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

您的意思是这两个事件将调用同一个函数吗

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

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

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

检测enter按钮如何?您需要一个事件专门查找要按下的键,因为它与任何页面元素都没有直接关系。
bind
的文档的第一行:
从jQuery 1.7开始,.on()方法是将事件处理程序附加到文档的首选方法。