如何在jQuery中以编程方式触发.on('input')
?
.change()
或.trigger('change')
似乎不太有用。
这是一个演示: https://jsfiddle.net/4o3v2c6s/
答案 0 :(得分:1)
您可以尝试更新小提琴jsfiddle.net/bharatsing/4o3v2c6s/2/
setTimeout(function() {
$('input[type="text"]').each(function() {
$("#example").val("test").change();
$("#example").val("test").trigger('input');
});
}, 1000);
答案 1 :(得分:1)
只需给函数命名并随时调用它:
function doAThing() {
alert("triggered!");
}
// Auto:
$(".val-trigger").change(doAThing);
// Manual:
doAThing();
答案 2 :(得分:0)
使用trigger('input')
代替change()
简写。
$(".val-trigger").on('input', function() {
console.log("this is triggered on input! :)");
});
$(".val-trigger").change(function() {
console.log("triggered!");
});
setTimeout(function() {
$('input[type="text"]').each(function() {
$("#example").val("test").trigger('input'); // < change here
});
}, 1000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="val-trigger">
<input type="text" id="example" />
</div>