我将keyup事件和blur事件绑定到一个对象。 输入密钥正常工作。但是一旦焦点丢失,就会发生不必要的模糊事件。当我使用keyup事件时,如何限制模糊事件。
实际上我需要对keyup事件和模糊事件进行相同的操作。用户将通过输入或仅通过焦点设置某些内容。
这是我的例子。
$('.classname').on({
keyup: function (e) {
if (e.keyCode == 13) {
//Some Code
}
},
blur: function (e) {
//Some code
}
});
答案 0 :(得分:0)
var enterKeyPressed = false;
$('.classname').on({
keyup: function(e) {
if (e.keyCode == 13) {
//Some Code
enterKeyPressed = true;
console.log('Enter key');
}
},
blur: function(e) {
if (enterKeyPressed) {
//Some code
enterKeyPressed = false;
}
console.log('Blur');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<input type="text" class="classname" />
答案 1 :(得分:0)
如果处理函数相同,则可以将它们组合在一起。这可以如下完成。并在这个常用函数中使用event.stopImmediatePropogation()(在评论中由@Gurupasad Rao引用):
$(".classname").bind('blur keyup', function(e){
// Stuff that your function does...
if(enterKeyPressed){
e.stopImmediatePropogation();
}
});