$("#accordion").accordion({
change: function (event, ui) {
alert('event have to be changed')
},
changestart: function (event, ui) {
return false;
}
});
Is it possible to cancel the change event?
6 Réponses :
event.preventDefault(); event.stopPropagate();
stoppropagation () code>, pas "stoppropogate ()"
Je ne suis pas sûr de changer, mais pour d'autres événements de JQueryui, retourner False annule l'événement. P>
Cela fonctionne car Return False équivaut à appeler e.preventdefault (); code> et e.stoppropagation (); code>
StopPropagation () est la clé pour arrêter une action JQueryui à partir du traitement, mais elle doit être interrompue avant l'événement ChangestArt. Par exemple, lorsque l'élément d'en-tête est en fait cliqué.
S'il s'agit d'une paire d'en-tête / contenu dans votre accordéon: p> alors cela empêchera l'accordéon d'élargir le DIV lorsque l'en-tête est cliqué sur: p> voir JQuery Accordion Empêche Bullbing / Autoriser l'action de liaison par défaut . P> P>
Comme Martin a dit que vous pouvez retourner faux. Voir un échantillon de code ci-dessous.
Renvoyer False ne fait rien, pour annuler un événement dans JQueryui, vous devez appeler PurtissyEfault () sur l'événement.
$("#accordion").accordion({
changestart: function (event, ui) {
event.preventDefault();
}
});
"Ces gestionnaires peuvent donc empêcher le gestionnaire délégué de déclencher en appelant event.StopPropagation () ou de retourner faux." - API.JQUERY.com/Event.stoppropagation
Cela ne fonctionne réellement pas. C'était ma première pensée aussi.
Qu'est-ce qui a fonctionné pour moi, appeler:
function onChange(e, ui) {
e.preventDefault();
e.stopPropagation();
}
cet événement annuler mais l'action travaillant toujours