2016-04-07 9 views
2

Auf meiner Wordpress-Website habe ich eine Kalender-Seite, die von einem installierten Plugin verwaltet wird, das einige grundlegende Links darin hat <a class="mylink" href="http://myurl.com">Some text</a>.Wie kann eine jQuery-Aktion entfernt werden, die an ein Klickereignis gebunden ist?

Irgendwo in diesem Plugin gibt es einige Javascript-Code, der, sobald der Benutzer auf einen dieser Links klickt, einen AJAX-Aufruf auslöst. Nun, ich möchte nicht, dass das passiert. Und natürlich möchte ich die Kerndateien des Plugins nicht bearbeiten.

Was ich tun möchte, ist einfach ein Skript erstellen, das alle an diese Links gebundenen Aktionen entfernt, so dass nichts passiert, sobald der Benutzer auf einen dieser Links klickt. So versuchte ich mit jQuery Methoden preventDefault(), stopPropagation() und stopImmediatePropagation(), aber keiner von ihnen arbeitete.

jQuery(document).on('click','.mylink', function(event){ 
    event.preventDefault(); 
    event.stopImmediatePropagation(); 
    event.stopPropagation(); 
    //do the stuff i want here 
}); 

Was fehlt mir?

+0

Fügen Sie eine "Rückkehr false;" am Ende – Aeldred

+0

Nichts ändert sich ... –

+0

Versuchen Sie '$ ('. mylink'). off ('click')', nachdem Sie das Plugin instanziiert haben. –

Antwort

2

Ähnlich wie die on() Funktion kann verkabeln Veranstaltungen genutzt werden, können Sie die off() Funktion können Sie die Ereignishandler entfernen:

$(document).off('click','.mylink'); 

Sie müssen nur sicherstellen müssen, dass diese nach der ersten durchgeführt wird, Event-Handler wurde erstellt.

1

In Ihrem Code fügen Sie nur einen anderen Handler für das click -Ereignis hinzu und ersetzen nicht die ursprünglichen Handler. Sie müssen auf Ereignisse auf diesen Links klicken. Der Code, um dies zu tun:

jQuery('a.mylink').unbind('click') 
Verwandte Themen