jQuery 多次点击 PNotify 按钮

jQuery PNotify button click fired multiple times

我有很多图片。单击其中任何一个都会打开 PNotify 弹出窗口。

PNotify 弹出窗口有一个带有文本字段和保存按钮的简单表单。单击该按钮时,它只是向单击的图像添加一段文本。

但是当我按下“保存”按钮时,它会多次附加文本并在每次点击后附加 +1,例如首先是 1,然后是 2,然后是 4,然后是 6 等等

$('#pic_wrapper').on('click', '.mark', function(e) {
    var notice = new PNotify({
      ...
    });

    $('#text_form button[name=save]').on('click', function() {
      $('#' + e.target.id).append('<p class="text">' + $.trim(
        $('#input_text').val()) + '</p>');
      notice.remove();
    });
  });

点击似乎触发了多次。我怎样才能阻止它并且每次点击只触发一次?

事件处理程序被多次附加,所以您遇到了问题。.off() 方法删除了使用 .on() 附加的事件处理程序。

$('#text_form button[name=save]').off().on('click', function() {
  $('#' + e.target.id).append('<p class="text">' + $.trim($(
    '#input_text').val()) + '</p>');
  notice.remove();
});