我遇到了jQuery代码的问题。这是代码:
问题部分有:
$(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);
});
问题是删除按钮对两个表单都不起作用。如果我只添加一个删除按钮代码,那么它会正确删除表单字段。但是,当我为第二个表单添加代码删除按钮,然后只工作最新的表单删除按钮和第一个表单按钮不再工作..我无法理解是什么问题。 谢谢!
答案 0 :(得分:2)
使用off和namespace:
$(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);
});
但是当你使用委托时,我不知道你为什么要解开它?!