我可以使用jQuery将函数绑定到<input>
元素上下文中的keyup事件,这样事件只会在<input>
元素聚焦时触发:
$('#my-input').keyup(function(e) {
// only fires when the focus is on the <input> element
}
如何将函数绑定到外部的事件 input
元素的上下文?我希望只能触发一个keyup事件当<input>
元素没有聚焦时:
$(':not(#my-input)').keyup(function(e) {
// this code fires regardless of whether the input element is focused
}
不幸的是,无论<input>
框是否被聚焦,上述函数都会运行。
答案 0 :(得分:4)
$('#my-input').focus(function(){
$('body').unbind('keyup');
}).blur(function(){
$('body').keyup(function(e) {
//do stuff
});
});
答案 1 :(得分:0)
另一种解决方案是检查事件目标是否为输入:
$('body').keyup(function(e) {
if(!$(e.target).is('input')){
console.log('i am not input');
}
});