js改变input值时没有触发change事件的解决办法

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();
});

这样就可以了,可以尝试一下。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容