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

时间:2013-02-23 04:09:51

标签: javascript onchange onkeyup

我有这个简单的代码:

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

我不知道为什么当我按下键时文本框值已经改变但是onchange事件没有触发。 我怎样才能解决onchange事件?

1 个答案:

答案 0 :(得分:1)

当您离开焦点时,onchange将会触发(如果您执行了任何更改)。只有texttextarea输入类型才会出现此问题,因为javascript不知道您何时完成输入。

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