我正在使用jquery滑塊插件來創建一些滑塊。這項工作正常,當我直接加載它們時啓動dom,但是當我嘗試使用ajax innerHTML方法將滑塊加載到div時,他們沒有得到啓動。jquery滑塊通過ajax加載時不工作
有沒有什麼知道我能做到這一點?
我正在使用jquery滑塊插件來創建一些滑塊。這項工作正常,當我直接加載它們時啓動dom,但是當我嘗試使用ajax innerHTML方法將滑塊加載到div時,他們沒有得到啓動。jquery滑塊通過ajax加載時不工作
有沒有什麼知道我能做到這一點?
當您使用innerHTMl將滑塊添加到div時,您必須再次調用滑塊設置方法,以便在將滑塊添加到div時將事件附加到滑塊。 謝謝 Ashwani
嘗試使用$ .ajax方法中的OnComplete屬性來觸發滑塊的方法。這將確保該方法只會在ajax內容加載後觸發。
通過設置對象的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對象。
您必須重新啓動/綁定您的活動。
e.g
//Ajax done and innerHTML is set
$('container').slider(); //Just an example... this will bind events.
或者
您可以更改事件處理程序.live
。這處理動態內容。