我有一个文本输入字段和一个复选框。当且仅当在文本字段中输入时,该复选框必须被禁用。我有一个伟大工程大多数情况下的解决方案:通过鼠标操作更改浏览器文本输入时的响应
HTML:
<input type="text" id="search" />
<input type="checkbox" id="cb" />
<label for="cb">Enabled only if no search term</label>
的jQuery:
$('#search').keyup(function (e) {
var enable = $(this).val() == 0;
if (enable) {
$('#cb').removeAttr('disabled');
} else {
$('#cb').attr('disabled', 'disabled');
}
});
看到它live on jsFiddle。
这适用于使用键盘输入或删除文本以及使用键盘粘贴文本的情况。
如果用户使用右键单击上下文菜单粘贴文本,或者用户按下IE添加到输入字段以允许清除输入字段的小“X”,则会失败。
问题
我怎样才能提高代码,以便它也能在这些情况?等待文本框失去焦点将提供较差的用户体验。
你可以使用[这里]的Jquery Realtime验证插件(http://www.zurb.com/playground/jquery-text-change-custom-event) – 2013-03-11 20:16:29
@Cthulhu:看起来非常酷。去尝试一下。 – 2013-03-11 20:27:26
@Cthulhu:像魅力一样工作!如果你想把你的评论变成一个答案(这不仅仅是一个链接),我会很高兴接受它。 – 2013-03-11 20:47:09