Javascript 我可以捕获js触发的更改事件吗?
我可以使用jquery在用户单击选择选项时轻松捕获该选项的更改事件,但是如果javascript更改选择值,“更改”事件永远不会触发,需要手动触发 是否可以在不必手动触发('change')的情况下捕获值的变化 这里的小提琴示例: 是否可以在不必手动触发('change')的情况下捕获值的变化 否。当JavaScript代码设置select的值时,不会触发任何事件。因此,您的选择是:Javascript 我可以捕获js触发的更改事件吗?,javascript,jquery,html,Javascript,Jquery,Html,我可以使用jquery在用户单击选择选项时轻松捕获该选项的更改事件,但是如果javascript更改选择值,“更改”事件永远不会触发,需要手动触发 是否可以在不必手动触发('change')的情况下捕获值的变化 这里的小提琴示例: 是否可以在不必手动触发('change')的情况下捕获值的变化 否。当JavaScript代码设置select的值时,不会触发任何事件。因此,您的选择是: 有一个通用函数,您可以在响应change事件时调用,也可以在代码更改值时调用(可能是集中更改值,这样您就不会忘记
change
事件时调用,也可以在代码更改值时调用(可能是集中更改值,这样您就不会忘记调用它).trigger('change')
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
});
};
是否可以在不必手动触发('change')的情况下捕获值的变化
否。当JavaScript代码设置select的值时,不会触发任何事件。因此,您的选择是:
change
事件时调用,也可以在代码更改值时调用(可能是集中更改值,这样您就不会忘记调用它).trigger('change')
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
});
};
您的问题的全部内容必须在您的问题中,而不仅仅是链接,甚至不是到jsFiddle(因此,如果没有任何内容标记为代码,则警告将阻止您链接到jsFiddle)。链接会腐烂,使得问题及其答案对未来的人们来说毫无用处,人们不应该非得离开网站去帮助你。如果示例很重要,请将其放在问题中,最好使用堆栈片段(工具栏按钮)使其在相关情况下可运行。更多:您需要自己使用
trigger('change')
触发事件,或者只使用change()
。两者都是解决这个问题的一种非常常见的方法。您可以使用MutationObserver
,但它们还没有得到很好的支持,而且这可能有点过头了您的问题还不清楚?你能详细说明一下你想要实现什么吗?很有趣,从未听说过mutationObserver,def不是这个意思,但很高兴知道。我问题的全部内容都在问题中。JSFIDLE只是一个例子,以防像user2181397这样的人仍然感到困惑。您问题的全部内容必须在您的问题中,而不仅仅是链接,甚至不是到JSFIDLE(因此,如果没有任何内容标记为代码,则警告会阻止您链接到JSFIDLE)。链接会腐烂,使得问题及其答案对未来的人们来说毫无用处,人们不应该非得离开网站去帮助你。如果示例很重要,请将其放在问题中,最好使用堆栈片段(工具栏按钮)使其在相关情况下可运行。更多:您需要自己使用trigger('change')
触发事件,或者只使用change()
。两者都是解决这个问题的一种非常常见的方法。您可以使用MutationObserver
,但它们还没有得到很好的支持,而且这可能有点过头了您的问题还不清楚?你能详细说明一下你想要实现什么吗?很有趣,从未听说过mutationObserver,def不是这个意思,但很高兴知道。我问题的全部内容都在问题中。JSFIDLE只是一个例子,以防像user2181397这样的人仍然感到困惑。*叹气。谢谢,我以为是这样的。*叹气。谢谢,我以为是这样的。