Nella mia pagina JSP ho aggiunto alcuni link:jQuery evento click non funziona dopo l'aggiunta della classe
<a class="applicationdata" href="#" id="1">Organization Data</a>
<a class="applicationdata" href="#" id="2">Business Units</a>
<a class="applicationdata" href="#" id="6">Applications</a>
<a class="applicationdata" href="#" id="15">Data Entity</a>
Ha una funzione jQuery registrato per l'evento click:
$("a.applicationdata").click(function() {
var appid = $(this).attr("id");
$('#gentab a').addClass("tabclick");
$('#gentab a').attr('href', '#datacollector');
});
Si aggiungerà una classe , tabclick
a <a>
che è all'interno di <li>
con id="gentab"
. Funziona bene. Qui è il mio codice per la <li>
:
<li id="applndata"><a class="tabclick" href="#appdata" target="main">Application Data</a></li>
<li id="gentab"><a href="#datacollector" target="main">General</a></li>
Ora ho un gestore click jQuery per questi collegamenti
$("a.tabclick").click(function() {
var liId = $(this).parent("li").attr("id");
alert(liId);
});
Per il primo collegamento che sta funzionando benissimo. Sta avvisando l'id <li>
. Ma per il secondo <li>
, dove il class="tabclick"
è stato aggiunto dal primo jQuery non funziona.
Ho provato $("a.tabclick").live("click", function()
, ma anche il primo evento di collegamento non funzionava.
Usare 'on' delegazioni di eventi – Razor
sulla delega eventi, vedere questa domanda SO: http://stackoverflow.com/questions/8110934/direct-vs-delegated-jquery-on – LeGEC