我目前正在使用此函数来检测jQuery中对输入框所做的任何更改。
$(document).on("input change paste keyup", "input, textarea, select", function(e) {
//do something
});
问题在于,当您通过此$("input").val(currentColorChosen);
之类的代码更改输入值时,该函数不会运行。
如何解决这个问题,以便函数可以检测对输入所做的所有更改,包括通过jQuery进行的值更改。
答案 0 :(得分:2)
$("input").change(function(){console.log("there was a change")})
我认为您也可以将值传递给它,这是.on( "change", handler )
答案 1 :(得分:1)
我刚刚发布了回复here
你可以尝试使用像这样的间隔或超时
var searchValue = $('#myTextbox').val();
function checkSearchChanged() {
var currentValue = $('#myTextbox').val();
if ((currentValue) && currentValue != searchValue && currentValue != '') {
searchValue = $('#myTextbox').val();
console.log(searchValue)
}
setTimeout(checkSearchChanged, 0.1);
}
$(function () {
setTimeout(checkSearchChanged, 0.1);
});
checkout working plunker here
答案 2 :(得分:0)
在代码后再添加一行:
$("input").val(currentColorChosen);
$("input").bind("change");