木子屋 Dnawo's BLOG

jQuery调用val方法对input赋值不能触发propertychange事件解决方法

👤 dnawo 📅 2023-07-11 👁 2099 👍 0 💬 0 🔄 来源:本站原创
在input添加了propertychange事件,运行是正常的:

<input name="txt1" />
<script type="text/javascript">
	$(document).ready(function() {
		$('input').bind('input propertychange', function() {
			console.log($(this).val());
		});
	});
</script>

图片

后面发现调用jQuery的val方法对input赋值,propertychange事件不能正常触发了:

<input name="txt1" />
<button>随便点</button>
<script type="text/javascript">
	$(document).ready(function(){
		$('input').bind('input propertychange', function() {
			console.log($(this).val());
		});
		
		$('button').bind('click', function() {
			$("input").val(new Date().getTime());
		});
	});
</script>

图片

最终通过手动调用一下change方法解决:

<input name="txt1" />
<button>随便点</button>
<script type="text/javascript">
	$(document).ready(function(){
		$('input').bind('input propertychange [color=Brown]change[/color]', function() {
			console.log($(this).val());
		});
		
		$('button').bind('click', function() {
			$("input").val(new Date().getTime());
			[color=Brown]$("input").change();[/color]
		});
	});
</script>

图片

评论(0)

暂无评论。

验证码
评论需审核通过后显示
← 上一篇 jQuery鼠标双击时误触发click事件解决方法 下一篇 → 微信支付商户平台收款二维码下载方法图解