gpt4 book ai didi

javascript - 如何通过 JQuery 触发 JS native 甚至 addEventListener ("change",函数)

转载 作者:搜寻专家 更新时间:2023-10-31 22:18:58 25 4
gpt4 key购买 nike

这不是 How to trigger jQuery change event in code 的副本,因为它涉及 jQuery 与 jQuery 事件监听器的交互,而这个问题讨论的是 jQuery 与 native 事件监听器的交互。

我使用 addEventListener 为输入绑定(bind)一个更改事件,但是 $('#input').val('bbbb').change(); 可以't触发alert,JQuery如何触发addEventListener("change",function)函数

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<title>code</title>
</head>

<body>
<script src="http://o6flfbzth.bkt.clouddn.com/jquery-1.12.0.min.js"></script>

<input id="input" type="text" value="input" />
<script type="text/javascript">
document.getElementById("input").addEventListener("change", function() {
alert(this.value);
});
</script>

<input type="button" value="change input" onclick=" $('#input').val('bbbb').change();" />
</body>

</html>

最佳答案

您不能使用 jQuery 的 .trigger('change') 触发 native 事件。您将需要 create a native eventdispatch it :

var evt = document.createEvent('HTMLEvents');
evt.initEvent('change', true, true);
// ^ ^ ^
// | | cancelable
// | bubbles
// type

然后触发它:

var el = document.getElementById("input");
el.dispatchEvent(evt);

关于javascript - 如何通过 JQuery 触发 JS native 甚至 addEventListener ("change",函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37113525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com