我试图在文本输入字段的值发生变化时捕获。我正在使用:
$("input[name=color]").change(function(){
如果我直接键入新值,则此方法有效。但是,输入字段的值正由jquery更改。这些领域有几个,我需要知道什么时候有变化。有没有办法检测到这种变化?
抱歉,我不清楚。我不是那个改变价值的人。它是一个插件,我宁愿不修改,以防我需要将它移植到另一个项目。变通
好的,所以你不能做我想做的事,但这是一个解决方法。我刚刚制作了一个间隔,并将change
事件更改为each
事件。
setInterval(function(){
$("input[name=color]").each(function(){ my code })
},100);
答案 0 :(得分:11)
无法以编程方式检测所做的更改。
但是,无论何时修改其值,都可以触发change
事件。
$("input[name=color]").val("newValue").change();
答案 1 :(得分:2)
当通过jquery更改值时,您可以使用jquery随后触发change事件
$("input[name=color]").val('someValue').trigger('change');
答案 2 :(得分:1)
不,当使用javascript更改值时,不会触发onchange事件。或者,您可以在更改值时调用onchange事件。
答案 3 :(得分:0)
一个选项是跟踪侦听器范围之外的值
function foo () {
var value = null;
$("select#thingy").on("change", function (e) {
let p = $(this).children("#choose-me").val();
value = value === p ? null : p;
$(this).val(value);
});
}
$(function() {
foo();
})