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"); //触发事件
posted @ 2021-09-05 15:36  ᦔⅈ晚风(扬帆起航)  阅读(1752)  评论(0)    收藏  举报