change事件触发键盘输入时值的改变是没有问题,但是通过js来赋值的话是不会触发的
写了一个简单的demo,代码如下:
<input type="text" />
<button>赋值</button>
<script src="js/jquery.min.js"></script>
<script>
$(function(){
// 按钮点击事件
$("button").on('click', function(){
$("input").val("赋值成功");
});
// input值改变事件
$("input").on('change', function(){
$("button").after("<p>change事件触发</p>")
});
});
</script>
这里面的input值改变事件是没有触发的,想要让change事件也触发只需要加简单的一行代码就行了
// 按钮点击事件
$("button").on('click', function(){
$("input").val("赋值成功");
// 触发change事件
$("input").change();
});
这样就可以了,可以尝试一下。