昨天开发的时候一直纠结一个问题,给a标签注册事件,却一直没有注册上!
$('#myTab li a').click(function() {
localStorage.setItem(tabId, $(this).attr("href"));
});
完全是一个普通的事件注册代码。今天排查的结论是,$('#myTab li a')这个元素是ajax异步加载的。而我在ajax的代码调用完毕之后,立刻注册事件。那么问题来了,ajax代码是异步执行的,代码调用完了,不代表需要绑定事件的那个元素就加载出来了。如果一个元素还没有加载出来,绑定事件是徒劳的!
解决办法就是在ajax调用的success方法里,绑定这个事件。
在这个坑里栽过几回了,记录一下,以后上心。
------------------------------------------分割线------------------------------------------
jQuery基础教程(第4版) PDF 完整高清版+配套源码
--------------------------------------分割线 --------------------------------------