Hier ist mein Problem:Wie rebind Ereignis auf modifizierte Elemente
Ich habe eine balise, wo ich ein Onclick-Ereignis gesetzt. Und wenn ich meine Traitement beendet habe, kann ich mich nicht daran erinnern.
Hier ist ein Teil meines Code:
$('.editAction').click(function (event) {
//Some stuff
handleEditThemeAjax(this, themeId, nomThemeEn, nomThemeFr);
//Call to another function
return false; //Do not redirect to URL
});
function handleEditThemeAjax(bouton, themeId, nomEn, nomFr) {
$(bouton).unbind("click");
$(bouton).removeClass("editAction"); //To not get another call to the parent function
//unset url to avoid being redirected
bouton.removeAttribute("href");
//Some stuff and declaration
$(bouton).click(function() {
//AJAX Handle
$.ajax({
type: "POST",
url: "{{ path('editThemeAjax') }}", //Twig
data: {
"nomFr": newNomFr,
"nomEn": newNomEn,
"themeId": themeId
},
success: function (data) {
setInputToText(tdFr, newNomFr);
setInputToText(tdEn, newNomEn);
Materialize.toast(data, 2000, 'rounded');
},
error: function (data) {
console.log(data);
Materialize.toast("Une erreur est survenue lors de l'édition de la thématique");
}
});
}
//Let's put the button to it initial state
var tr = tdEn.parentElement;
lineButton = tr.childNodes[7];
//The button
var boutonDone = lineButton.childNodes[1];
$(boutonDone).removeClass("green");
$(boutonDone).addClass('blue editAction');
boutonDone.childNodes[1].innerHTML = "mode_edit";
// Clone the button to remove all previous event
var clone = boutonDone.cloneNode();
while (boutonDone.firstChild) {
clone.appendChild(boutonDone.lastChild);
}
//replace it
boutonDone.parentNode.replaceChild(clone, boutonDone);
clone.href = url;
//Set the url again
//Now, if i click on my button again, nothing append.
//I would like that if i clicked again, my first function is executed (the "$('.editAction').click(...)")
});
return false; //avoid being redirected
}
Was kann ich es beheben tun?
Vielen Dank für Ihre Hilfe!
ich klar bin nicht das, was Sie eigentlich wollen. Ich habe nur verstanden, auf Click-Event setzen Sie erneut Click-Event. Dann? – Bharadwaj
Dann setze ich ein anderes Ereignis, also muss ich das erste deaktivieren. Und nachdem das zweite Ereignis ausgelöst wurde, möchte ich das erste Ereignis aktivieren, kann es aber nicht. – Sylvain
dann binden Sie es auf den zweiten Event-Trigger !!! – Bharadwaj