您好,登錄后才能下訂單哦!
環(huán)境:Jquery1.10
任務(wù):使用ajax異步更新頁面信息
現(xiàn)象:更新后的html頁面上的js失效
問題:使用ajax更新的元素不能綁定事件
相關(guān)代碼:
$('#a').click(function(){ alert('這個(gè)事件不能綁定到新html的$(#a)'); }); $('#search').click(function() { $.ajax( { data : $('#conditions').serialize(), async : false, type : "POST", dataType : 'html', error : function(request) { alert("請(qǐng)求數(shù)據(jù)時(shí)出錯(cuò),請(qǐng)檢查網(wǎng)絡(luò)連接。"); }, success : function(data) { $('#ajaxform').html($(data).find('#ajaxform').html()); } } }); });
解決方案:
1、剛開始,我認(rèn)為新更新的元素沒有綁定事件,嘗試各種方法來綁定,但是都沒有用,于是使用比較笨的一個(gè)方案,
將所有需要的js在success中重新綁定。
代碼:
success : function(data) { $('#ajaxform').html($(data).find('#ajaxform').html()); $('#a').click(function(){ alert('這是一個(gè)愚蠢的行為'); }); }
2、不能在更新后重新綁定,就在更新前綁定,使用on()來綁定將來的元素。
代碼:
$(document).on('click','#a',function(){ alert('將事件綁定到未來的元素#a上'); }); $('#search').click(function() { $.ajax( { ... } ); });
參考鏈接:http://www.cnblogs.com/leejersey/p/3545372.html
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。