昨天開發的時候一直糾結一個問題,給a標簽注冊事件,卻一直沒有注冊上!
$('#myTab li a').click(function() {
localStorage.setItem(tabId, $(this).attr("href"));
});
完全是一個普通的事件注冊代碼。今天排查的結論是,$('#myTab li a')這個元素是ajax異步加載的。而我在ajax的代碼調用完畢之後,立刻注冊事件。那麼問題來了,ajax代碼是異步執行的,代碼調用完了,不代表需要綁定事件的那個元素就加載出來了。如果一個元素還沒有加載出來,綁定事件是徒勞的!
解決辦法就是在ajax調用的success方法裡,綁定這個事件。
在這個坑裡栽過幾回了,記錄一下,以後上心。
------------------------------------------分割線------------------------------------------
jQuery權威指南 PDF版中文+配套源代碼 http://www.linuxidc.com/Linux/2013-10/91059.htm
jQuery實戰 中文PDF+源碼 http://www.linuxidc.com/Linux/2013-09/90631.htm
《jQuery即學即用(雙色)》 PDF+源代碼 http://www.linuxidc.com/Linux/2013-09/90383.htm
鋒利的jQuery(第2版) 完整版PDF+源碼 http://www.linuxidc.com/Linux/2013-10/91527.htm
jQuery完成帶復選框的表格行高亮顯示 http://www.linuxidc.com/Linux/2013-08/89406.htm
jQuery基礎教程(第4版) PDF 完整高清版+配套源碼 http://www.linuxidc.com/Linux/2014-03/98162.htm
--------------------------------------分割線 --------------------------------------
jQuery 的詳細介紹:請點這裡
jQuery 的下載地址:請點這裡