Javascript:在onkeyup事件中更改值时,onfire事件不会触发

hie*_*und 7 javascript onchange onkeyup

我有这个简单的代码:

    <body>
        <input type="text" onkeyup="this.value = (new Date()).getSeconds()" onchange="alert(1)" /> 
    </body>
Run Code Online (Sandbox Code Playgroud)

我不知道为什么当我按下键时文本框值已经改变但是onchange事件没有触发.我如何解雇onchange事件?

mar*_*iay 1

onchange当您离开焦点时(如果您执行了任何更改),它将触发。此行为仅在使用texttextarea输入类型时发生,因为 javascript 不知道您何时完成输入。

我不知道为什么代码中有一个复选框,但无论如何。真诚地,我无法告诉您原因,但问题是输入上的动态值更改(猜测是更改不是由用户执行的,但我真的不知道),如果你删除onkeyup里面的代码它就会起作用。无论如何,如果您想要在输入失去焦点时执行一些代码,您可以使用onblur,在这种情况下更准确。