我有几个html文件,其中有<a href="">
个标签,但是因为我添加了一个音乐播放器,我开始使用jquery加载,因为我很懒,我把这个脚本添加到jquery加载所有的链接。 (此脚本位于索引文件中,其他文件只包含所需的元素,即没有<body>
等。)
$("a").live('click', function(){
$("#main").load($(this).attr("href"));
return false;
});
然而它仅适用于第一页,并且在使用jquery加载更改内容后,它不起作用。如果我理解正确,因为加载发生在脚本运行之后但是.live应该处理这个吗?我是初学者,所以可能会有一些我误解的东西。
或者有没有其他方法可以知道jquery加载是否发生并再次运行脚本?
答案 0 :(得分:0)
由于live
已弃用,您应该以委派方式使用on
。并且您需要将其绑定在父元素上,您要将加载的内容放入其中。问题是,当您加载其他内容时,您的事件不再被正确触发...
另一个提示:使用preventDefault
函数来停止a
标记的gefault bahvior。
$(document).on("click", "a", function(e) {
e.preventDefault();
$("#main").load($(this).attr("href"));
return false;
});