运行 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;
});
我有几个带有 <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;
});