运行 jquery 加载元素后的脚本

running a script after jquery loaded element

我有几个带有 <a href=""> 标签的 html 文件,但因为我在上面添加了一个音乐播放器,所以我开始使用 jquery 加载,因为我懒惰我将此脚本添加到 jquery 加载所有链接。 (此脚本在索引文件中,其他文件只有所需的元素,即没有 <body> 等)

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

但是它只在第一页上有效,并且在 jquery 加载内容更改后它不起作用。如果我理解正确的话,因为加载发生在脚本 运行 之后,但是 .live 应该正确处理这个问题吗?我是初学者,所以可能有些地方我误解了。

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

由于 live 已弃用,您应该以委托方式使用 on。你需要将它绑定到父元素上,你想在其中放置加载的内容。问题是,当你加载另一个内容时,你的事件不再正确触发......

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

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