Javascript:当onkeyup事件中的值发生更改时,onchange事件不会触发

Javascript : onchange event does not fire when value is changed in onkeyup event

本文关键字:事件 onchange onkeyup Javascript      更新时间:2023-09-26

我有一个简单的代码:

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

我不知道为什么当我按键时文本框的值发生了变化,但onchange事件没有触发。如何启动更改事件?

离开焦点时(如果执行了任何更改),onchange将激发。这种行为只发生在texttextarea输入类型中,因为javascript不知道您何时完成输入。

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