我正在从列表中删除项目,并且计数器减少了要删除的元素之前的元素数量而不是仅减少一个
为什么?
$(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);
答案 0 :(得分:1)
在#clckToInsert
点击处理程序的内部,每次触发时,您都会为每个a
绑定一个额外的点击处理程序:
$("#clckToInsert").click(function () {
/* ... */
$('a').click(function () {
因此,每次#clckToInsert
处理程序触发时,页面上的每个a
都会附加一个附加处理程序。因此,每次点击a
都会触发许多处理程序,这会减少很多次。
答案 1 :(得分:0)
您正在将count--
回调绑定到任何<a>
元素。这意味着您有任何给定链接的n
个处理程序。
如果您更改了以下内容,则应该没问题。
var $li = $(li)
$('#list').append($li)
$li.find('a').click