jQuery函数的作用与其JavaScript等效函数不同

gjmwrych  于 2023-01-16  发布在  jQuery
关注(0)|答案(1)|浏览(116)

我正在自动化一个网站和控制台。当我使用jQuery方法来改变下拉列表的值(隐藏/生成的值)时,它工作得非常好,正确地模仿了人类的行为。
但当我使用JavaScript时,它会更改值,但下一个下拉列表不会被激活。
我使用的代码:
jQuery语言

$("#carMakeInput").val("BMW").change()

JavaScript语言

document.getElementById("carMakeInput").value = "BMW";
document.getElementById("carMakeInput").dispatchEvent(new Event("change"));

jQuery做了什么额外的事情吗?

vtwuwzda

vtwuwzda1#

我做了一个小片段来测试您所说的内容。在我的片段中,JS正在激活而jquery没有激活(我通过注解掉触发change事件的行来确认)。所以我认为问题在于如何添加侦听器

document.getElementById("carMakeInput").addEventListener("change", function() {console.log("changed");});

$("#carMakeInput").val("BMW").change()

document.getElementById("carMakeInput").value = "BMW";
document.getElementById("carMakeInput").dispatchEvent(new Event("change"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="carMakeInput" />

相关问题