临时禁用Keyup事件时,文本输入是空白
Temporary Disable Keyup event when text input is blank
我是jquery的初学者,但我已经尽力做到这一点,但不幸的是我错过了一些
当文本输入为空白时,我如何才能暂时禁用keyup事件,并在我输入了一些东西后再次启用它?
我不能在按下键时捕捉退格,所以我使用了keyup。这是我的代码
$('#searchBox').keyup(function(e){
if(e.keyCode != '18' && e.keyCode != '91' && e.keyCode != '17' && e.keyCode != '16' && e.keyCode != '20' && e.keyCode != '27' && e.keyCode != '113' && e.keyCode != '115' && e.keyCode != '118' && e.keyCode != '119' && e.keyCode != '120' && e.keyCode != '122' && e.keyCode != '123' && e.keyCode != '44' && e.keyCode != '19' && e.keyCode != '45' && e.keyCode != '46' && e.keyCode != '36' && e.keyCode != '33' && e.keyCode != '34' && e.keyCode != '35' && e.keyCode != '39' && e.keyCode != '37' && e.keyCode != '38' && e.keyCode != '9'){
if(e.keyCode == '8' && $(this).val()==""){
//what will i put here
}else if(e.keyCode == '8' && $(this).val()!=""){
refreshWookmark($(this).val());
}else{
refreshWookmark($(this).val());
}
}
});
要禁用keyup功能或其他功能,请尝试以下操作
if()
{
obj.keyup(function () {
//code
});
}else{
obj.unbind("keyup")
}
不要禁用它,只需检查输入是否存在并且keyCode
是您认为有效的:
$('#searchBox').on('keyup',function(e){
var bad = ['18','91','17','16','20','27','113','115','118','119','120','122','123','44','19','45','46','36','33','34','35','39','37','38','9'],
isBad = false;
for(var i=bad.length;i--;){
if(e.keyCode == bad[i]){
isBad = true;
break;
}
}
if(this.value.length > 0 && !isBad){
refreshWookmark(this.value);
}
});
这只会在输入存在且keyCode
正确时运行你想要的函数,我认为这就是你想要的。
另外,99.9%的时间你可以用this.value
代替$(this).val()
。这节省了将this
包装成jQuery对象,然后使用内部方法获取值(基本上是this.value
)的开销。
您可以在空白输入时使用return
:
$("#idOfElement").keyup(function() {
if (!this.value == '') {
//do stuff
} else {
return;
}
});
如果值为空,您就不能跳出处理程序吗?
$(element).keyup(function(e) {
if (this.value.trim() == '')
return;
// do stuff
});
相关文章:
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- Sails.js:同时发布文本输入和一个文件
- 来自文本输入null的html javascript变量
- 当没有文本输入聚焦时检测空格键按下
- JS中的按钮和文本输入
- JavaScript:在调用函数的文本输入上按enter键
- jQuery自动完成功能不适用于多个文本输入
- 使用JS从选择和文本输入中捕获值,并将输出返回到HTML
- 如何通过jQuery发送选定的元素和文本输入
- HTML如何根据javascript函数的返回值限制文本输入
- jquery插件或javascript方法自动调整文本输入(而非文本区域)(固定宽度)可变高度的大小
- 在jquery中获取文本输入val始终为空
- HTML文本输入大小
- 文本输入与文本区域
- 角度ui选择标记模糊时丢失文本输入
- 文本输入值中的JavaScript变量
- Angular指令中的最佳实践是将文本输入设置为英尺和英寸的格式
- 如何在不通过模型验证的情况下屏蔽文本输入中输入的字符
- 在文本输入区域中创建双向更新
- 不使用自定义CSS或HTML(使用框架方法)的角度材质文本输入或文本区域标签大小