<input type="hidden" name="blk" onchange="test();" value="" />當使用js腳本是blk中的value值發生改變時為啥沒觸發onchange事件兒,怎么樣才能執行test()方法呢?
3 回答

米脂
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 關注
- 2275 瀏覽
添加回答
舉報
0/150
提交
取消