计数器减少有什么问题?



我正在从列表中删除项目,计数器会减少要删除的元素之前的元素数量,而不是只减少一个

为什么?

 $(document).ready(function () {
    var count = 0;
            $("#clckToInsert").click(function () {
                var value = $('#misInput').val();
                var deleter = "<a href = #> X </a>";
                var li = '<li id = "item">' + value + deleter + '</li>'; 
                count++;
                $("#counter").html(count);
                $("#list").append(li);
                $('a').click(function () {
                    count--;
                    $(this).parent().remove();
                    $("#counter").html(count);

#clckToInsert点击处理程序中,每次触发a时,都会将一个额外的点击处理程序绑定到它:

$("#clckToInsert").click(function () {
    /* ... */
    $('a').click(function () {

因此,每次触发#clckToInsert处理程序时,页面上的每个a都会附加一个额外的处理程序。因此,每次点击a都会触发那么多处理程序,从而减少次数。

您正在将count--回调绑定到任何<a>元素。这意味着对于任何给定的链接都有n处理程序。

如果你改变了以下内容,它应该是可以的。

var $li = $(li)
$('#list').append($li)
$li.find('a').click

相关内容

  • 没有找到相关文章

最新更新