2009-06-24 7 views
0

ich eine Verknüpfung Notation wollen für unbind ('Klick'. Ich .unclick unbind sein wollen ('Klick'.Wie man .unclick = unbind ('Klick' in Jquery?

+6

mehr Geld ausgeben als 5 Sekunden auf Ihre Frage formulieren und es könnte eine Frage tatsächlich ähnelt :) – karim79

+0

was? Möchten Sie ein Klickereignis lösen? – TStamper

+4

@TSStamper - Ich denke, er möchte einen unclick evenventhandler lösen. Ist es nicht offensichtlich? – karim79

Antwort

4

Ich denke, Sie möchten etwas wie folgt aus:

$.fn['unclick'] = function(){ 
    return this.unbind('click'); 
}; 

Nun sind die beiden folgenden Zeilen sind äquivalent:

$(...).unbind('click'); 
$(...).unclick(); 

Für alle Veranstaltungen (Liste der Ereignisse aus den jQuery source kopiert):

var events = ('blur,focus,load,resize,scroll,unload,click,dblclick,' + 
       'mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,' + 
       'mouseleave,change,select,submit,keydown,keypress,keyup,error' 
      ).split(','); 

jQuery.each(events, function(i, name){ 
    jQuery.fn['un' + name] = function(){ 
     return this.unbind(name); 
    }; 
}); 
+0

+1 Das sieht ziemlich gut aus, aber denke du meinst, unclick im Gegensatz zu unlick :) – karim79

+0

In der Tat habe ich;) – Stephan202

+0

Sollten Sie nicht anrufen verlängern ...? –

3
jQuery.fn.extend({ 
     unclick: function() { 
     return this.unbind('click'); 
     } 
}); 
+0

+1 für den Aufruf zu erweitern –

+0

Nein, kein Vorteil bei der Verwendung von extend() ... Nur mehr Zeichen. – James