Dynamické bindování událostí na Ajaxifikovaný odkaz

MikeLacroix
Člen | 60
+
0
-

Zdravím,

používám nette.ajax.js a snažím se dynamicky vázat listener na odkaz, který se odesílá ajaxem. Jakmile však k odkazu přidám třídu ajax, událost se nezpracuje mým listenerem.

<a href="..." class="karel ajax">Odkaz</a>
$(function() {
	$(document).on('click', '.karel', function() {
		console.log('clicked');
	});
});

Předpokládám, že nette.ajax.js nějak zablokuje další listenery… jak to tedy udělat tak, aby se provedl i můj listener?

Alsatian
Člen | 175
+
0
-

Omlouvám se předem, že ti neporadím tak jak si přeješ (nerozumím zatím tolik Nette), ale možná ti pomůže řešení, které jsem kdysi použil.

<a n:href=„mujhandle!“ class=„ajax“ data-karel=„blabla“>Odkaz</a>

V JS potom odchytíš kliknutí na odkaz s data-karel pomocí:

$(function () {
	$.nette.init();
	$.nette.ext({
		before: function(xhr, settings, e) {
			if(settings.nette.el.data('karel')) {
				...tvoje js fce...
			}
		},
	});
});

Proměnnou „blabla“ využít nemusíš a nebo naopak můžeš jako předaný parametr.