Как сказал Ремон, вы можете привязаться к событию нажатия клавиши, и у вас не будет никакой задержки, но тогда вы не сможете выполнить сравнение со значением по умолчанию, так как при нажатии клавиши значение будет таким же (значение изменилось, как только вы получили ключ).
Это будет код с 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');
}
});
});
Я надеюсь, что это ответ на ваш вопрос:)