所以我有一个插件 - jScrollPane - http://www.kelvinluck.com/assets/jquery/jScrollPane/jScrollPane.html - 这很棒,但是,我想把它应用到Ajax生成的div。
我如何将jScrollPane与jQuery的live()
结合使用?有关live()的更多信息,请访问:http://api.jquery.com/live/
谢谢!
杰克
答案 0 :(得分:5)
当你想要将一个元素绑定到一个事件时,live()
方法很棒,但你会使用什么事件来保持插件的持久性?我不认为有一个......
你可以做的是将初始插件绑定到函数中,然后在你的ajax生成的div到位之后调用该函数,如下所示:
function setPlugins() {
$('#abc').myPlugin();
}
$.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
setPlugins();
}
});
我不完全确定这是否是解决问题的最佳方法,但这就是我一直在做的事情。
答案 1 :(得分:1)
我认为这将是你需要的东西。
$(function()
{
initialise_jScrollPane = function() {
$("#jScrollPane").jScrollPane();
}
// Update contexts using live jquery ajax link
$("a#ajax_load_link").live("click", function() {
$("<div/>").attr({"id": "jScrollPane"}).appendTo("body").load("ajax_page.html", "", initialise_jScrollPane);
});
});
这将创建一个id为“jScrollPane”的div元素,然后使用从jQuery请求返回的Ajax内容初始化jScrollPane。
马丁