2013-08-24 121 views
0

我正在使用RightJS(非常類似於jQuery)在我正在處理的網站上。我加載的頁面上的元素,象這樣的請求的結果:有沒有簡單的方法來只重新加載一個元素,如果它的內容已經改變?

var comp = $('completed_step'); 
if(comp != null) comp.load("/brew/completed_step"); 

這工作,但我試圖找到一種方法,只加載元素如果「BREW/CURRENT_STEP請求的結果'與當前在元素中加載的值不同。有沒有簡單的方法來實現這一點?

回答

0

您需要比較當前元素的值和加載的元素的值。

var comp2; 
var comp = $('completed_step'); //I'm assuming this refers to some value 
if(comp != null || comp != ""){ 
    comp2 = load("/brew/completed_step"); 
} 

if(comp != comp2){ 
    comp = comp2; 
} 

請記住,我不熟悉RightJS,所以這可能是錯誤的,但應該給你正確的想法。

編輯:

它看起來像在rightJS的XHR模塊需要一個對象,允許您指定的進程完成的事。

http://rightjs.org/docs/xhr#load

Xhr.load('/some/url', { 
    onSuccess: function(request) { 
    // do something about it 
    } 
}); 

從它們的文檔中的例子的。

+0

這看起來接近我正在尋找,但它不工作。看起來好像在RightJS中load()函數是非阻塞的。因此,在您的示例中,comp2在進行比較時一直爲空。 – PICyourBrain

+0

load方法接受一個包含已完成,成功和失敗回調的對象,您可以使用該對象完成要執行的操作。 – Trendy

相關問題