gpt4 book ai didi

javascript - 我可以捕获 js 触发的更改事件吗?

转载 作者:行者123 更新时间:2023-11-28 18:29:17 25 4
gpt4 key购买 nike

当用户单击选择选项时,我可以使用 jquery 轻松捕获选择选项的更改事件,但是如果 javascript 更改选择值,则“更改”事件永远不会触发,需要手动触发。

是否可以在不手动trigger('change')的情况下捕获值的变化?

这里的 fiddle 示例:https://jsfiddle.net/1fhbha4o/1/

最佳答案

Is it possible to catch the value changing without manually having to trigger('change')?

没有。当 JavaScript 代码设置 select 的值时,不会触发任何事件。所以你的选择是:

  1. 有一个通用函数,您可以在响应 change 事件时调用,也可以在代码更改值时调用(也许集中更改值,这样您就不会忘记调用它) .

  2. .trigger('更改')

  3. 轮询该值以查看它是否发生变化(blech)。

关于 #1 和 #2,您可以给自己一个 valWithNotify:

$.fn.valWithNotify = function(arg) {
if (arguments.length == 0) {
return this.val();
}
return this.each(function() {
$(this).val(arg).trigger("js-change"); // or just "change", but I'm not a
// fan of synthetic user events
});
};

关于javascript - 我可以捕获 js 触发的更改事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38439828/

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