当我想要立即获取文本输入框中插入的值时,我使用“keyup”事件。
现在我在一个CodeReview问题中看到了使用“input”事件来实现相同功能。
CodeReview问题(第5行):https://codereview.stackexchange.com/questions/141937/registration-form-validation-in-jquery
我尝试了一下并制作了这个演示:
var box = document.querySelector('input');
box.addEventListener('keyup', function() {
console.log('keyup: %s', this.value);
});
box.addEventListener('input', function() {
console.log('input: %s', this.value);
});
/* RESULT
input: a
keyup: a
input: ab
keyup: ab
input: abc
keyup: abc
*/
<input type="text" />
如您所见:没有区别!
因此,我的问题是:
在读取文本输入的值时,使用keyup事件和input事件之间有区别吗?
还有:
是否存在应该优先选择其中一种的情况?
keyup-handler
不会被调用,但input-handler
会被调用... 还有其他一些区别也存在... - Rayon