在jquery加载元素后运行脚本

时间:2016-09-15 09:10:56

标签: jquery load

我有几个html文件,其中有<a href="">个标签,但是因为我添加了一个音乐播放器,我开始使用jquery加载,因为我很懒,我把这个脚本添加到jquery加载所有的链接。 (此脚本位于索引文件中,其他文件只包含所需的元素,即没有<body>等。)

$("a").live('click', function(){
$("#main").load($(this).attr("href"));
return false;
});

然而它仅适用于第一页,并且在使用jquery加载更改内容后,它不起作用。如果我理解正确,因为加载发生在脚本运行之后但是.live应该处理这个吗?我是初学者,所以可能会有一些我误解的东西。

或者有没有其他方法可以知道jquery加载是否发生并再次运行脚本?

1 个答案:

答案 0 :(得分:0)

由于live已弃用,您应该以委派方式使用on。并且您需要将其绑定在父元素上,您要将加载的内容放入其中。问题是,当您加载其他内容时,您的事件不再被正确触发...

另一个提示:使用preventDefault函数来停止a标记的gefault bahvior。

$(document).on("click", "a", function(e) {
    e.preventDefault();
    $("#main").load($(this).attr("href"));
    return false;
});