Onchange 事件运行不佳

zan*_*tet 3 html javascript events onchange

我创建了以下 html 页面。

<html>
    <head></head>
    <body>
        <input type="text" value="" id="Textbox" onchange="alert('text change');" />
        <input type="button" value="" onclick="document.getElementById('Textbox').value = 'Hello';" />
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

当输入的文本输入到文本框中时,onchange 事件运行良好。我编写了一段代码,当单击按钮时,“Hello”文本将输入到文本框中。但是文本框的onchange事件不能很好地工作。我如何捕获更改事件?谢谢。

Rob*_*obG 5

以编程方式更改值不会触发更改事件,只有当用户聚焦元素、更改值然后将焦点放在其他位置时才会发生更改事件。

选项包括手动调用 onchange 侦听器、在元素上分派更改事件,或者通过在 DOM 上查找具有 onchange 侦听器的父级并调用它们来手动冒泡更改事件。

这是一个似乎符合要求的答案:手动触发 onchange 事件

一些链接:

  1. MDNdispatchEvent(符合标准):https://developer.mozilla.org/en/DOM/element.dispatchEvent
  2. MSDN fireEvent(IE 专有):http://msdn.microsoft.com/en-us/library/ie/ms536423( v=vs.85).aspx