我创建了以下 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>
当输入的文本输入到文本框中时,onchange 事件运行良好。我编写了一段代码,当单击按钮时,“Hello”文本将输入到文本框中。但是文本框的onchange事件不能很好地工作。我怎样才能捕捉变化事件?谢谢。
以编程方式更改该值不会触发改变事件,仅当用户聚焦元素、更改值然后将焦点置于其他位置时才会发生这种情况。
选项是手动调用 onchange 侦听器,发送变更事件在元素上,或者通过在 DOM 上查找具有 onchange 侦听器的父级并调用它们来手动冒泡更改事件。
这是一个似乎符合要求的答案:手动触发onchange事件
一些链接:
- MDNdispatchEvent(符合标准):https://developer.mozilla.org/en/DOM/element.dispatchEvent
- MSDN fireEvent(IE专有):http://msdn.microsoft.com/en-us/library/ie/ms536423(v=vs.85).aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)