<input type="hidden" name="blk" onchange="test();" value="" />当使用js脚本是blk中的value值发生改变时为啥没触发onchange事件儿,怎么样才能执行test()方法呢?
3 回答
![?](http://img1.sycdn.imooc.com/545864490001b5bd02200220-100-100.jpg)
米脂
TA贡献1836条经验 获得超3个赞
onchange只要在获得焦点,然后再失去焦点后才会触发。直接dom操纵赋值可以扩展jquery,添加一个_val
方法,替代jq自己的val
$.fn.extend({_val:function(newVal){
var originalVal = $(this).val();
if(newVal!==originalVal) {
$(this).val(newVal);
$(this).trigger("change");
}
}})
给input赋值时这样使用 $('input[name=blk]')._val(12345)
即可.
看你的场景,不一定要像上面一样扩展jQuery。如果仅仅有一两处是使用,你也可在使用val
赋值完成后,在直接调用trigger("change")
触发事件即可,丑陋一点而已。
- 3 回答
- 0 关注
- 2249 浏览
添加回答
举报
0/150
提交
取消