2014-03-04 41 views
0

我正在使用jQuery Backstretch(http://srobbin.com/jquery-plugins/backstretch/),但在通過RadAjaxManager AjaxRequest進行AJAX更新(踢開客戶端)之後,它死亡。JavaScript無法在AJAX回發後工作(jQuery Backstretch和Telerik RadAjaxManager)

我試過重新初始化AJAX後,但沒有骰子。其他的jQuery插件仍在工作(例如jQuery的Countdown - http://keith-wood.name/countdown.html)。

JS頁面加載:

$(document).ready(function() { 
    $('#timer').countdown({ 
    until: new Date(2014, 5 - 1, 1) 
    }); 

    $.backstretch([ 
    'images/bg1.jpg', 
    'images/bg2.jpg', 
    'images/bg3.jpg' 
    ], { 
    fade: 750, 
    duration: 4000 
    }); 
}); 

的Javascript呼籲點擊一個按鈕:

$find("<%= RadAjaxManager1.ClientID %>").ajaxRequest(); 

VB:

Protected Sub RadAjaxManager1_AjaxRequest(sender As Object, e As AjaxRequestEventArgs) Handles RadAjaxManager1.AjaxRequest 
    'Do something 
End Sub 

的AjaxRequest運行後,倒計時仍在運行,但Backstretch圖像已經消失!

幫助?

回答

0

裹你的函數爲一個自調用函數,因爲這:

(function($){ 
    $(document).ready(function() { 
... 
    }); 
});})($telerik.$) 

這將從Telerik的庫加載jQuery的。

至於它與Telerik處理ajax的方式有關的原因,它不會從您的引用庫加載jquery。

+0

然而,這看起來應該起作用,因爲我發佈這個問題已經有近4年的時間了,所以我實際上不記得我正在做什麼項目,或者我爲解決這個問題做了些什麼。我打算將此標記爲解決方案,但我注意到這是一個未經測試的解決方案。 – Tony

0

您可能希望重新綁定ID。

否則,出於調試目的,請嘗試在ajax調用後重新運行js腳本。

$(document).ready(function(){ 
     //your ajax call 
     $.getScript("jquery.min.js"); 
});