2016-08-09 15 views
-2

Überprüfung des Code unterWenn Anweisung innerhalb Klick-Funktion nicht wie nach dem ersten Klick

erwartet funktioniert, wenn ich zum ersten Mal auf die span klicken, es markStarted Funktion und fa Symbol löst und data-aevent aktualisiert werden erfolgreich. Und ich bekomme started in der Dev-Konsole.

Wenn ich es erneut klicke (ohne Seite neu zu laden)markFinished wird nicht ausgelöst. Und ich werde immer noch in der Konsole "gestartet".

Was mache ich falsch?

<span class="label label-info check " data-id="4" data-aevent="finish"><i class="fa fa-check fa-fw"></i></span> 

markStarted, markFinished

var markStarted = function(task){ 
    task.find('i').removeClass('fa-play').addClass('fa-check'); 
    var nextstate = "finish"; 
    task.data("data-aevent", nextstate); 
    console.log("started"); 
} 
var markFinished = function(task){ 
    task.fadeOut(); 
    console.log("finished"); 
} 

auf Klickfunktion

$(function() { 
    $(".check").on("click", function() { 
     var task = $(this); 
     var task_id = task.data("id") 
     var aevent = task.data("aevent"); 

     if (aevent == "start"){ 
     markStarted(task); 
     }else { 
     markFinished(task); 
     } 

    }); 
    }); 
+1

Aufruf werden müssen, versuchen zu ändern 'Aufgabe .attr ("data-aevent", nextstate) "zu" task.data ("aevent", nextstat e) ". –

+0

Ich sehe, bitte aktualisieren Sie den Code, damit andere nicht damit verwirrt werden :) –

+0

@dMd, es gibt keinen Unterschied – kirqe

Antwort

1

in markStarted, bist du task.data("data-aevent ... nennen, wo Sie task.data("aevent" ...

+0

danke aber 'task.data (" aevent "," eewew ");' aktualisiert 'data-aevent 'nicht innerhalb der Spanne. – kirqe

+0

das Problem war genau in der Verwendung von 'Data-' Teil von 'Data-Aevent'. Vielen Dank – kirqe

Verwandte Themen