Is there a simple way to only reload an element if it content has changed?

StackOverflow https://stackoverflow.com/questions/18414851

  •  26-06-2022
  •  | 
  •  

سؤال

I am using RightJS (very similar to jQuery) on a site I'm working on. I am loading an element on the page with the result of a request like so:

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

This works but I am trying to find a way to only load the element if the result of the request for 'brew/current_step' is different than the value currently loaded in the element. Is there an easy way to accomplish that?

هل كانت مفيدة؟

المحلول

You need to compare the value of the current element with what is loaded.

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;
}

Keep in mind, I'm not familiar with RightJS, so this might be wrong, but should give you the right idea.

Edit:

It looks like the Xhr module in rightJS takes an object that allows you to specify what to do when the process has completed.

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

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

That's from their example in the documentation.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top