Étant donné le fragment HTML suivant:
<form id="aspnetForm" onsubmit="alert('On Submit Run!'); return true;">
Je dois supprimer/effacer le gestionnaire de l'événement onsubmit et enregistrer le mien à l'aide de jQuery ou de tout autre type d'utilisation de JavaScript.
Pour faire cela sans aucune bibliothèque:
document.getElementById("aspnetForm").onsubmit = null;
Avec jQuery
$('#aspnetForm').unbind('submit');
Et puis continuez pour ajouter les vôtres.
Essayez ceci, cela fonctionne pour moi:
$('#aspnetForm').removeAttr('onsubmit').submit(function() {
alert("My new submit function justexecuted!");
});
Voir this pour plus de détails.
Pour jQuery, off()
en supprime tous les gestionnaires d'événements ajoutés par jQuery.
$('#aspnetForm').off();
L'appel de .off () sans argument supprime tous les gestionnaires attachés aux éléments.
Pour jQuery, si vous liez des gestionnaires d'événements à .live, vous pouvez utiliser .die pour dissocier toutes les instances liées à .live.
Si vous souhaitez supprimer TOUSevent-handlers
du element and its child-nodes
et conserver uniquement le HTML structure
, nous pouvons utiliser jQuery's
clone () :
var original, clone;
//
original = $('#my-div');
clone = original.clone();
//
original.replaceWith(clone);
Ceci va effectivement ne laisser aucun event-handlers
sur la element
ou son child-nodes
.
Bonne chance...