jQuery click事件不能独立工作

时间:2013-07-29 09:22:32

标签: jquery click

我遇到了jQuery代码的问题。这是代码:

code sample

问题部分有:

$(document).unbind('click').on('click', '#a_del', function() {
    $('.a_frm > .frmlabel:last').remove();
    a_counter--;
    $('#a_field_count').attr('value', a_counter);
  });

$(document).unbind('click').on('click', '#b_del', function() {
    $('.b_frm > .frmlabel:last').remove();
    b_counter--;
    $('#b_field_count').attr('value', b_counter);
  });

问题是删除按钮对两个表单都不起作用。如果我只添加一个删除按钮代码,那么它会正确删除表单字段。但是,当我为第二个表单添加代码删除按钮,然后只工作最新的表单删除按钮和第一个表单按钮不再工作..我无法理解是什么问题。 谢谢!

1 个答案:

答案 0 :(得分:2)

使用off和namespace:

DEMO

$(document).off('click.a').on('click.a', '#a_del', function() {
    $('.a_frm > .frmlabel:last').remove();
    a_counter--;
    $('#a_field_count').attr('value', a_counter);
  });

$(document).off('click.b').on('click.b', '#b_del', function() {
    $('.b_frm > .frmlabel:last').remove();
    b_counter--;
    $('#b_field_count').attr('value', b_counter);
  });

但是当你使用委托时,我不知道你为什么要解开它?!