我正在尝试制作一个输入框,一旦您开始输入,输入框就会变空。 (不是重点)。我尝试在 mootools 上使用 keyup 事件,但流程不是无缝的。删除输入字段需要一些时间。这是代码
document.addEvent('domready', function(e) {
$('inputBox').addEvent('keyup', function() {
if(inputBox.value != inputBox.defaultValue){
inputBox.value = '';
$('inputBox').removeEvents('keyup');
}
});
});
什么是最好的方法来让它表现得更好?
最佳答案
正如 Remon 所说,你可以绑定(bind)到一个按键事件,你不会有任何延迟,但是你不能与默认值进行比较,因为当按下键时,该值将相同(一旦你拿起 key ,值(value)就会改变)。
这将是带有 keydown 的代码:
document.addEvent('domready', function(e) {
$('inputBox').addEvent('keydown', function() {
this.set('value', '').removeEvents('keydown');
});
});
如果您想像在初始代码中那样进行比较,那么您将需要使用 keyup,但它会有一小段延迟。
这是您的代码,经过一些优化并可以正常工作:
document.addEvent('domready', function(e) {
$('inputBox').addEvent('keyup', function(ev) {
if(this.value != this.defaultValue){
this.set('value', ev.key).removeEvents('keyup');
}
});
});
我希望这能回答你的问题:)
关于javascript - 如何在开始输入后清空输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9749166/