【发布时间】:2012-03-03 22:53:45
【问题描述】:
如果我输入一个字母“a”,我想重置输入,但第一个字母始终保留在那里。有人知道如何彻底清洁输入吗?
【问题讨论】:
如果我输入一个字母“a”,我想重置输入,但第一个字母始终保留在那里。有人知道如何彻底清洁输入吗?
【问题讨论】:
您可以使用.preventDefault() 来停止事件的默认行为,在这种情况下防止将 a 输入到输入中。像这样:
$(document).ready(function(){
$('#test').on('keypress', function(e){
if(e.which == 97) {
e.preventDefault();
this.value = "";
}
})
});
更新了你的小提琴:http://jsfiddle.net/hvx6y/1/
【讨论】:
使用setTimeout(参数为 1 或 0)执行一小段代码以清除输入。这是有效的,因为 setTimeout 中的代码将在处理当前按键后执行。
正如 Christofer Eliasson 指出的那样,您还可以阻止当前事件完成其处理。
【讨论】: