我正在尝试将模糊和keyup事件处理程序绑定到文本框;我只希望逻辑在所有模糊事件和keyup事件上执行,只有在用户按Enter / return(代码13)时才会执行。如果我能分辨出哪些事件被捕获了,这应该很简单,但我似乎无法找到描述我需要寻找什么的东西。简单回答的几点简单。
答案 0 :(得分:16)
您可以使用jQuery event object获取有关该事件的信息。 event.type
会告诉您哪个事件已被触发。
$('#textBox').bind('blur keyup', function(e){
if( e.type === 'blur' || (e.type === 'keyup' && e.which === 13) ){
// Code...
}
});
您还可以查看undefined
当blur
事件为$('#textBox').bind('blur keyup', function(e){
if( typeof e.which === 'undefined' || e.which === 13 ){
// Code...
}
});
时的event.which
。
{{1}}
答案 1 :(得分:2)
使用event.type
:
$('input:text').bind('keyup blur',
function(e){
alert(e.type);
});
$('input:text').bind('keyup blur',
function(e){
var t = e.type;
if (t == 'blur'){
$(this).css('background-color','red');
}
else if (t== 'keyup') {
$(this).css('background-color','green');
}
});
参考:
答案 2 :(得分:0)
$('input').keyup(function(e){
var code = (e.keyCode ? e.keyCode : e.which);
if(code == 13) /* enter was pressed */
your_function();
});