jQuery: Obtenir une référence à l'événement de clic et de déclencher plus tard?

Je veux enrouler un existant, cliquez sur l'événement dans un certain code supplémentaire.

Fondamentalement, j'ai un multi cadre en forme d'un accordéon et je veux déclencher la validation de l'accordéon cliquez sur l'en-tête. L'accordéon code est utilisé ailleurs et je ne veux pas le changer.

Voici ce que j'ai essayé:

   //Take the click events off the accordion elements and wrap them to trigger validation
    $('.accordion h1').each(function (index, value) {
        var currentAccordion = $(value);
        //Get reference to original click
        var originalClick = currentAccordion.click;

        //unbind original click
        currentAccordion.unbind('click');

        //bind new event           
        currentAccordion.click(function () {
            //Trigger validation
            if ($('#aspnetForm').valid()) {
                current = parseInt($(this).next().find('.calculate-step').attr('data-step'));             
                //Call original click.
                originalClick();
            }
        });
    });

jQuery déclenche une erreur parce qu'il essaie de faire this.trigger à l'intérieur de la originalClick fonction et je ne pense pas que this est ce que jQuery s'attend à le trouver.

EDIT: mise à Jour du code. Cela fonctionne, mais il est un peu moche!

   //Take the click events off the accordion elements and wrap them to trigger validation
    $('.accordion h1').each(function (index, value) {
        var currentAccordion = $(value);
        var originalClick = currentAccordion.data("events")['click'][0].handler;
        currentAccordion.unbind('click');
        currentAccordion.click(function (e) {
            if ($('#aspnetForm').valid()) {
                current = parseInt($(this).next().find('.calculate-step').attr('data-step'));
                $.proxy(originalClick, currentAccordion)(e);
            }
        });
    });
Pourriez-vous utiliser $(currentAccordion).trigger('click'); et de ne pas enregistrer une référence à l'événement?
Je pense que ce sera le déclencheur de mon nouvel événement attaché?
Oui désolé, je n'avais pas totalement compris ce que vous essayiez de le faire.

OriginalL'auteur Rob Stevenson-Leggett | 2011-10-13