Javascript 如何检测任一事件触发器?
我有一个id为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 }); 或者,
#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()方法是将事件处理程序附加到文档的首选方法。