我有一个表单字段,我需要能够检测到字段何时发生更改,并使用新的字段值执行一些附加代码。我只想在按键实际更改文本框的值时才执行代码。以下是我提出的解决方案。
function onkeypress(e) {
var value = this.value;
// do something with
}
function onkeyup(e) {
if ( e.which == 8 || e.keyCode == 46 ) { // delete or backspace keys
this.onkeypress(e);
}
}
然而,有一个问题。onkeypress在字段的值被更新之前就会触发,所以当我获取这个值时,我得到的是先前的值。如果我知道一种方法来测试按键是否更改了值,我将仅使用keyup,但某些字符(如箭头键)对字段的值没有影响。
有任何想法吗?
onkeyup
而不是onkeypress
。 - adamdunson