40 Stimmen

jQuery: Event-Handler lösen, um sie später wieder zu binden

Weiß jemand, wie man die Bindung von Ereignis-Handlern aufhebt, sie aber speichert, um sie später wieder zu binden? Irgendwelche Vorschläge?

0 Stimmen

Haben die Ereignisse dieselbe Handler-Funktion oder sind sie alle unterschiedlich?

0 Stimmen

Sollte das nicht der Fall sein. Lassen Sie uns so tun, als ob sie alle unterschiedlich sind und ich nicht weiß, was sie sind

0voto

Avi Punkte 1

Sie könnten die event.handler Parameter:

$(document).ready(function() {
    $('#test').click(function(e) {
        e.preventDefault();
        alert('test');
        $('#test').unbind('click', e.handler);
        //Do Something...
        $('#test').click();
    });
});

<a id="test">test</a>

event.handler gibt den aktuellen Handler zurück, der das Ereignis empfangen hat. Wenn Sie ihn also weglassen, können Sie die anderen Handler behalten.

-3voto

Carl G Punkte 15555

Nick Craver hat offenbar die richtige Antwort für jQuery 1.4.2+. Er enthält auch eine hilfreiche fiddle . Mit seiner Lösung können Sie alle an ein jQuery-Element angehängten Event-Handler abrufen und herausfinden, an welchen Handler sie angehängt wurden.

6 Stimmen

Personen, die eine Ablehnung aussprechen, sollten den Grund für ihre Ablehnung angeben. Das hilft der Person zu lernen und sorgt für ein wenig Verantwortlichkeit... manchmal liegt der Down-Voter falsch. Jeder lernt dazu.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X