我有这样一个简单的代码:
<body>
<input type="text" onkeyup="this.value = (new Date()).getSeconds()" onchange="alert(1)" />
</body>
我不知道为什么当我按键时文本框的值会改变,但是onchange事件却没有触发。 如何触发onchange事件?
我有这样一个简单的代码:
<body>
<input type="text" onkeyup="this.value = (new Date()).getSeconds()" onchange="alert(1)" />
</body>
onchange
将在您离开焦点时触发(如果您进行了任何更改)。这种行为仅适用于text
和textarea
输入类型,因为JavaScript不知道您何时完成输入。
我不知道为什么代码中有一个复选框,但无论如何。真诚地说,我无法告诉您原因,但问题是输入的动态值更改(猜测是更改不是由用户执行的,但我真的不知道),如果您删除onkeyup内部的代码,它将起作用。无论如何,如果您想在输入失去焦点时执行某些代码,则可以使用onblur
,在这种情况下更准确。
onkeyup
内部的代码,它将起作用。无论如何,如果您想在输入失去焦点时执行某些代码,则可以使用onblur
,在这种情况下更准确。 - martriayonblur
很有帮助。 :) - Nirav Zaveri
onkeyup="this.value = (new Date()).getSeconds();this.onchange();"
- Ian