我正在使用jquery滑块插件来创建一些滑块。当我在启动dom时直接加载它时这很好用但是当我尝试使用ajax innerHTML方法将滑块加载到div中时它们没有被启动。
有什么事情我知道怎么做吗?
答案 0 :(得分:3)
您必须再次发起/绑定您的活动。
e.g
//Ajax done and innerHTML is set
$('container').slider(); //Just an example... this will bind events.
或者
您可以将事件处理程序更改为.live
。这处理动态内容。
答案 1 :(得分:1)
通过设置对象的innerHTML来创建滑块时,不会初始化滑块。 试试这个(对于范围滑块):
$.ajax({
url: "get_slider.php",
success: function(data){
if(typeof(data) == 'string') data = JSON.parse(data);
$('#my_slider_id').slider({
range: true,
min: data.min,
max: data.max
});
},
error: function(data){
// Something went wrong, do stuff here
}
});
这里我们希望get_slider.php返回一个JSON对象,该对象至少包含一个min和max属性,用于实例化滑块。
答案 2 :(得分:0)
当您使用innerHTMl向div添加滑块时,您必须再次调用滑块设置方法,以便在将滑块添加到div时将事件附加到滑块。 谢谢 Ashwani
答案 3 :(得分:0)
尝试使用$ .ajax方法中的OnComplete属性来触发滑块的方法。这将确保只有在加载ajax内容后才会触发该方法。