javascript - onchange 事件运行不正常

标签 javascript html 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>

当输入的文本被输入到文本框中时,onchange 事件运行良好。我写了一段代码,当点击按钮时,“你好”文本被输入到文本框中。但是文本框的 onchange 事件运行不正常。我怎样才能捕捉到变化事件?谢谢。

最佳答案

以编程方式更改值不会触发 change event ,只有当用户聚焦元素、更改值然后将焦点放在别处时才会发生这种情况。

选项是手动调用 onchange 监听器,dispatch a change event在元素上,或者通过在 DOM 上查找具有 onchange 监听器的父项并调用它们来手动冒泡更改事件。

这是一个似乎符合要求的答案:trigger onchange event manually

一些链接:

  1. MDN dispatchEvent(符合标准):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

关于javascript - onchange 事件运行不正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11218553/

相关文章:

Javascript 运行时对象不支持此属性错误

java - 我们可以使用 C、C++ 或 Java(任何语言)将 PDF 文件转换为 HTML 吗?

javascript - CefGlue 使用 CefDomVisitor 检测 evenfint 监听器

javascript - 主干委托(delegate)事件

javascript - 单选按钮值在计算中不起作用

c# - 如何以编程方式订阅对象的所有事件?

javascript - 在网络摄像头视频之上添加内容,即颜色叠加

javascript - 如何防止用户在某些进程之前更改路由状态

javascript - PHP:使用十进制值添加 div 背景颜色(1 = 黑色,0 = 白色)

javascript - 在所选元素上显示 div