欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery頁面元素動態(tài)添加后綁定事件丟失方法,非 live

 更新時間:2016年06月16日 14:16:16   作者:zbasic  
這篇文章主要介紹了jQuery頁面元素動態(tài)添加后綁定事件丟失方法,非 live 的相關(guān)資料,非常不錯,具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧

代碼1: 以此方法綁定的input框事件,在通過add按鈕后用jquery綁定的事件 alert就會丟失

<input type="button" value="Add" name="test_but" />
<div id="test_div"><input name="test_input"/></div>
<script>
$('input[name=test_input]').change(function(){
alert($(this).val()) ;
});
$('input[name=test_but]').click(function(){
$('input[name=test_input]').clone().appendTo($('#test_div'));
});
</script> 

代碼2: 以jquery的live方法綁定change事件,alert不會丟失,但是在點(diǎn)擊add時有可能多次添加input,或者多次彈出提醒框,刷新頁面后就好了,但是多次操作后還是會這樣

<input type="button" value="Add" name="test_but" />
<div id="test_div"><input name="test_input" onchange="alert_val(this)"/></div>
<script>
$('input[name=test_input]').live('change',function(){
alert($(this).val()) ;
});
$('input[name=test_but]').click(function(){
$('input[name=test_input]').clone().appendTo($('#test_div'));
});
</script> 

代碼3: 解決之道....

<input type="button" value="Add" name="test_but" />
<div id="test_div"><input name="test_input" onchange="alert_val(this)"/></div>
<script>
function alert_val(obj){
alert($(obj).val());
}
$('input[name=test_but]').click(function(){
$('input[name=test_input]').clone().appendTo($('#test_div'));
});
</script> 

通過js原生態(tài)的onchange事件,把對象本身傳遞進(jìn)去,這樣既可以用到j(luò)query語法繼續(xù)寫東西,也不會丟失綁定事件,更加不會因?yàn)閘ive的特性導(dǎo)致事件多次執(zhí)行....完美!

相關(guān)文章

最新評論