Question

É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.

Était-ce utile?

La solution

Pour ce faire sans aucune bibliothèque:

document.getElementById("aspnetForm").onsubmit = null;

Autres conseils

Avec jQuery

$('#aspnetForm').unbind('submit');

Et ajoutez ensuite le vôtre.

Essayez ceci, cela fonctionne pour moi:

$('#aspnetForm').removeAttr('onsubmit').submit(function() {   
    alert("My new submit function justexecuted!"); 
});

Voir this pour plus d'informations. détails.

Pour jQuery, si vous liez des gestionnaires d'événements à .live, vous pouvez utiliser .die pour dissocier toutes les instances liées à .live.

Pour jQuery, off () supprime tous les événements. les gestionnaires ajoutés par jQuery.

$('#aspnetForm').off();
  

L'appel de .off () sans argument supprime tous les gestionnaires attachés aux éléments.

Si vous souhaitez supprimer ALL des gestionnaires d'événement sur l'élément et ses noeuds enfant et conservation Seule la structure HTML , nous pouvons utiliser le clone de jQuery () :

var original, clone;
//
original = $('#my-div');
clone = original.clone();
//
original.replaceWith(clone);

Ceci ne laissera effectivement aucun gestionnaires d'événement sur l'élément ou ses nœuds enfants .

Bonne chance ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top