/ / Ako sa môžu prvky jQuery-ify vrátiť pomocou volania ajax? - jQuery, ajax, drupal-6

Ako sa vrátia prvky jQuery-ify pomocou ajax hovoru? - jquery, ajax, drupal-6

Pýtam sa na túto otázku v kontexte Drupalu, ale odpoveď môže byť všeobecná a nemusí závisieť konkrétne od Drupala.

Mám nejaké prvky HTML, ktoré dostanúaktualizované / nahradené pomocou jQuery / ajax. Pri prvom načítaní stránky sú prvky správne spracované programom jQuery. Odkazy jQuery však ignorujú odkazy obsiahnuté v údajoch vrátených po volaní ajaxu.

// This standard function ensures that elements are properly processed after first page load:
Drupal.behaviors.events = function(context) {

// This works as intended. Clicking on links works as intended:
$(".event_browse_location .parent_locations a:not(.events-processed)", context).addClass("events-processed")
.bind("click", function() {
$.get(Drupal.settings.basePath + "/events/location/" + parseInt(this.id, 10), null, browseLocation);
return false;
});
}

var browseLocation = function(response) {
var result = Drupal.parseJson(response);
// New elements are properly added to the DOM here:
$(".event_browse_location").html(result.data);

// However, this does not seem to have any effect.
// The a elements in the new elements do not work as intended.
// jQuery does not process them at all.
$(".event_browse_location .parent_locations a:not(.events-processed)").addClass("events-processed")
.bind("click", function() {
$.get(Drupal.settings.basePath + "/events/location/" + parseInt(this.id, 10), null, browseLocation);
return false;
});
}

odpovede:

0 pre odpoveď č. 1

V tomto prípade sa vyskytli dve hlúpe chyby.

Na prvý z nich upozornil hosť271314: v pôvodnom kóde, ktorý som uverejnil, bola uvedená neohlásená premenná. Zodpovedajúcim spôsobom som zmenil a doplnil otázku.

Po druhé, môj selektor jQuery bol nesprávny a vylučoval prvky, ktoré mali byť zahrnuté. Oprava selektora opravila problém.