Jquery附加项目单击功能不起作用

时间:2015-07-14 15:47:34

标签: javascript jquery

好的所以我有一个按钮,当有人点击它时会向某个部分添加一些信息。

像这样:

function() {
  $(".blend-tile").click(function() {

    $(this).hide();
    var li = $('<li><div class="align-table"><div class="color-img t-align"></div><div class="t-align"><div class="infora"></div><div class="percent-mix"></div><div class="mix-value"></div></div></div><div class="clear-tile">X</div></li>');
    $('#mixers').append(li);
    $('.tpic', this).clone(true, true).contents().appendTo(li.find('.color-img'));
    $('.infora', this).clone(true, true).contents().appendTo(li.find('.infora'));
    if ($('#mixers li').length === 6) {
      $(".tiles").hide();
      $(".nomore").show();
    }
  });
});

这一切都很好。

但是当我点击remove()时,我也想要<div class="clear-tile">X</div>这一切。

为此我正在使用:

$(function() {
  $(".clear-tile").click(function() {
    $(this).parent().remove();
  });
});

但没有任何反应没有错误。

我的文件中也有类似的功能使用remove(),这样可以正常工作。我尝试从.clear-tile触发的任何内容都根本不起作用。

我有一种感觉,我可以追加它,但我不确定是否会感激任何帮助

1 个答案:

答案 0 :(得分:2)

您需要使用事件委派:

$("#mixers").on("click", ".clear-tile", function() {
    $(this).parent().remove();
});

相反:

$(".clear-tile").click(function() {
    $(this).parent().remove();
});