有办法吗?基本上,我想检测用户何时清除该字段,因为还有其他字段依赖于该字段。 我使用了一个更改事件,但是当我清除输入框时它没有触发。
有什么建议吗?
答案 0 :(得分:2)
您可以使用 focusout 检查 text_input 是否已被清除(然后清除 id_input )
// check if autocomplete has been cleared
$("#text_input").focusout(function() {
if ($("#text_input").val() == '') {
$('#id_input').val('');
}
});
答案 1 :(得分:0)
我建议使用几个不同的处理程序来确保抓住用户清除字段
$(document).on('keyup, keydown, blur, change' , '.myTxtBox', function(){
var text = $(this).val();
if text = "" {}
});
如果你想确保用户没有突出显示然后删除,或者按,删除,退格等,那么一些键在键盘上更容易检测而一些键在键盘上更容易被检测到。你需要几个不同的处理程序
答案 2 :(得分:0)
如何将函数绑定到jQuery keyup事件,并在该函数中检查字段的.val()的长度?
这几乎适用于所有浏览器。 IE Mobile 9要求您在读取字段值之前设置时间延迟,因为字段内容直到yeyup事件之后才会更新。
主持人注意:愚蠢的网站让我等了3分钟才能输入这个答案 - 等待不会让你知道更多或更少。
答案 3 :(得分:0)
我使用了Mike建议的类似方法,但在a#ui-active-menuitem
的keyup事件上检查val()
而不是input[type="text"]
的长度,因为它也可能没有选择结果且输入不为空。 (例如:如果用户通过按向上箭头键模糊列表结果)
input.on('keyup', function(){
if(! $('a#ui-active-menuitem').length ) ...
});