js方式修改input值 onchange不生效?
input框的change事件是基于失焦事件onblur的,所以如果js操作input的值是没有失焦这个概念的,自然也无法触发onchange事件。
<body>
<input type="text" id="demo" onchange="aa()" value="1" readonly="" />
<button>增加</button>
</body>
<script type="text/javascript" src="js/jquery-1.12.4.js"></script>
<script>
$(function(){
$("button").click(function(){
$("#demo").val($("#demo").val()+1)
})
})
function aa(){
alert("11")
}
</script>
这样input中的值被修改了也不会触发onchange事件
解决如下:
/*在input值改变的时候,让他触发事件就可以解决这类问题*/
$("#demo").trigger("change"); //触发事件

浙公网安备 33010602011771号