【问题标题】:How to change the value of input so that it triggers onChange event?如何更改 input 的值以触发 onChange 事件?
【发布时间】:2020-04-09 18:35:51
【问题描述】:

我需要更改输入的值,但是当我像element.value = 'spam' 那样更改它时,onChange 事件不会发生。在检查器中,我看到输入元素有 onChange 事件,但是当我执行element.onchange() 时,我得到TypeError: "element.onchange is not a function"。我该怎么做?

【问题讨论】:

    标签: javascript dom events dom-events


    【解决方案1】:

    [Stackoverflow-Post] How can I trigger an onchange event manually?

    就像这篇文章中所说的那样。您可以简单地触发/触发此 onChange 事件。

    element.onchange();
    

    if ("createEvent" in document) {
       var evt = document.createEvent("HTMLEvents");
       evt.initEvent("change", false, true);
       element.dispatchEvent(evt);
    }
    else
       element.fireEvent("onchange");
    

    但如果在您的情况下element.onchange() 不起作用,您可以尝试上面的其他示例。

    但是您能否将您的源代码添加到您的问题中...这样我们可以进一步帮助您。

    【讨论】:

    • 我的脚本适用于网络应用程序,其元素的所有事件的功能都在外部脚本中。当我需要触发 onclick 事件时,我使用了 element.click() 并且它起作用了,但是在这里我可以更改输入的值,但不能让应用程序看到它已更改。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 2017-10-08
    • 1970-01-01
    • 2011-04-25
    • 1970-01-01
    • 2011-10-24
    相关资源
    最近更新 更多