Im Ajax-Success erzeugter Link bekommt die Funktionszuweisung nicht

  • JavaScript

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Manü.

    Im Ajax-Success erzeugter Link bekommt die Funktionszuweisung nicht

    Ahoi,

    mir fällt es gerade schon schwer, mir dafür einen Titel einfallen zu lassen, genauso sieht es mit einer ordentlichen Suche aus.
    In der Success-function eines Jquery-Ajax Aufrufs erstelle ich einen Link, der soll nirgends hinzeigen sondern eine function aufrufen.

    Quellcode

    1. ​elem.parent().next('ul').append('<a class="deadlink create-new" >Neue Version anlegen</a>');

    Via der Klasse .create-new versuche ich nun eine andere function daran zu binden. Normalerweise würde ich dabei mit .off() erstmal die function unterbinden, damit sie nicht sofort ausgeführt wird, sondern erst bei click, was ich via .click() hinten anhänge.

    Quellcode

    1. ​$('.create-new').off('click', OpenEditor).click(OpenEditor(elem.parent().attr('href')));


    Jetzt zu meinem Problem, vielleicht fehlt mir dafür noch das Verständnis für JS.
    Sobald die Ajax-Funktio ausgeführt wird, wird auch die Funktion OpenEditor ausgeführt, die aber eigentlich für den Link vorgesehen ist. Danach hängt die Funktion aber nicht am Link.

    Eine große Hilfe wäre es schon, mir einen Suchbegriff zu geben, oder einen Link, der mir dir Problematik nochmal sauber erläutern könnte.
    Im Idelafall, kommt aber Lösung und Erklärung gleich hier :)
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de
    Moin,

    du hast da einen Denkfehler: .click(OpenEditor(elem.parent().attr('href')));
    Das führt die Funktion aus und bindet den Rückgabewert an click. Korrekt wäre eine Wrapper-Funktion, die den Funktionsaufruf tätigt:

    JavaScript-Quellcode

    1. .click(function() {
    2. OpenEditor(elem.parent().attr('href'))
    3. });
    Mit freundlichen Grüßen,
    Thunderbolt
    Ach ja, um es mit Sheldons Worten zu sagen "daran hatte ich nicht gedacht" :D

    recht vielen Dank das hat natürlich funktioniert :)
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de