使用javascript更改内容后激活onchange
当javascript更改输入的值时,为什么不激活输入的onChange函数?例如,为什么单击按钮时不会出现警报使用javascript更改内容后激活onchange,javascript,jquery,Javascript,Jquery,当javascript更改输入的值时,为什么不激活输入的onChange函数?例如,为什么单击按钮时不会出现警报 <html> <body> <input type="text" id="myInput" onchange="alert(1)" /> <button onclick = "document.getElementById('myInput').value = 'ads'">click</button> </body&
<html>
<body>
<input type="text" id="myInput" onchange="alert(1)" />
<button onclick = "document.getElementById('myInput').value = 'ads'">click</button>
</body>
</html>
那么我怎样才能使onchange函数工作呢
编辑:
我现在了解到事件不会自动触发,我如何也调用itjquery?脚本值更改不会触发事件。您必须手动触发事件 jQuery:$'myInput'。触发'change' 将以下代码添加到onchange事件: 因此,结合您的代码,您实际上应该将JS代码与HTML分开:
<button onclick="var input = document.getElementById('myInput');input.value = 'ads';if(input.fireEvent)input.fireEvent('onchange');else{var ev=document.createEvent('HTMLEvents');ev.initEvent('change',true,false);input.dispatchEvent(ev);}">click</button>
脚本化的值更改不会触发事件。您必须手动触发事件 jQuery:$'myInput'。触发'change' 将以下代码添加到onchange事件: 因此,结合您的代码,您实际上应该将JS代码与HTML分开:
<button onclick="var input = document.getElementById('myInput');input.value = 'ads';if(input.fireEvent)input.fireEvent('onchange');else{var ev=document.createEvent('HTMLEvents');ev.initEvent('change',true,false);input.dispatchEvent(ev);}">click</button>
以编程方式更改值时不会触发更改事件。。。就是这样。当以编程方式更改值时,不会触发更改事件。。。事情就是这样。