2010-12-11 20 views
0

Ich habe einige ajax paginierte Kommentare in WordPress erstellt. Wenn der Benutzer unglücklicherweise auf die Antwortschaltfläche geklickt hat und dann auf eine andere Kommentarseite klickt, verschwindet die Kommentarform in Luft.Rufen Sie eine bereits definierte .onClick() -Funktion von jQuery

Anyways, einfache Frage: Die Funktion "Cancel Reply" aus meinem Code jedes Mal auszulösen, wenn der Benutzer auf eine neue Ajax-Seite klickt, würde das Problem effektiv lösen, indem das Formular an die ursprüngliche Position zurückspringen würde.

Wie kann ich einfach cancel.onclick() von meinem eigenen Code auslösen? Ich wollte nur Befehle duplizieren und eine neue Funktion erstellen, dachte mir aber, es könnte einen einfacheren Weg geben, ein paar Bytes zu speichern!

Hier ist der Quellcode: http://core.trac.wordpress.org/browser/trunk/wp-includes/js/comment-reply.dev.js

Antwort

1

so etwas wie dieses Versuchen:

$('#id_of_your_cancel_button').click(); 
// same thing as $('#id_of_your_cancel_button').trigger('click'); 

Wenn die „Abbrechen“ Logik in mehreren Kontexten verwendet werden soll, vielleicht wäre es am besten, wenn sie lebt in eine eigene benannte Funktionsdeklaration und nicht den anonymen Funktionsausdruck wie in Ihrem Beispiel. Dies würde Ihnen die Möglichkeit, so etwas wie dies zu tun:

function myCancelCode(){ 
    do_stuff(); 
} 

Dann in Ihrem addComment Objekt:

cancel.onclick = myCancelCode; 

und von anderswo:

if(somethingHappens){ 
    myCancelCode(); 
} 
Verwandte Themen