7

我有这个简单的代码:

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

我不知道为什么当我按下键时文本框的值发生了变化,但是 onchange 事件没有触发。我怎样才能触发 onchange 事件?

4

1 回答 1

1

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

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

于 2013-02-23T04:14:59.853 回答