$("#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