如果第一次单击后,单击功能内的语句无法按预期工作

时间:2016-08-09 00:02:27

标签: javascript jquery

检查下面的代码

当我第一次点击span 时,会触发markStarted功能,fa图标和data-aevent会成功更新。我在开发控制台中获得started

当我再次点击(没有页面重新加载)时, markFinished未被触发。我仍然在控制台中“开始”。

我做错了什么?

<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");
}

点击功能

$(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 个答案:

答案 0 :(得分:1)

markStarted

,您正在呼叫task.data("data-aevent ...,您需要拨打task.data("aevent" ...