jquery stop PNotify按钮单击fire parent parent handler

时间:2018-06-07 12:18:21

标签: javascript jquery onclick pnotify

我有一个带有点击事件的图像地图,在其上放置一个标记:

$('#map').on('click', function(e) {
    alert(e.target.id); // this is the image inside 'map'
    alert(e.currentTarget.id); // this is the 'map'
    var pin = $('<div class="pin"></div>');
    $('#map_wrapper').append(pin);
})

然后单击该图钉将打开一个带有文本输入和保存按钮的PNotify弹出窗口,单击该按钮将输入的文本附加到包装器:

$('#map_wrapper').on('click', '.pin', function(e) {
    var id = this.id;
    show_notice(id);
});

function show_notice(id) {
    notice = new PNotify({
        text: form,
        ...
    });
    $('form [name=save]').off('click').on('click', function(e) {
        e.preventDefault();
        e.stopImmediatePropagation();
        e.stopPropagation();
        $('#' + id).append('<p class="pin-text hidden">' + $.trim($('#pin_text').val()) + '</p>');
        notice.remove();
    });
}

我无法弄清楚是什么原因导致在“保存”按钮单击时将新引脚添加(加倍)到地图。我警告'e.target.id'和'e.currentTarget.id' - 点击地图后弹出这些,但是在点击通知表单上的保存按钮后没有任何反应(没有警报)但是引脚实际附加到地图...

如何停止保存点击向地图添加新图钉?

[UPDATE]

经过进一步调查后,会发生什么:

  • 引脚坐标存储在DB
  • 添加块表单加载,然后加载地图图像,然后将引脚放置在坐标
  • 我移动针脚(仅举例),点击一个,弹出一个通知,我在表格输入中输入文字,然后点击保存按钮
  • 通知关闭,2个新引脚出现在与从DB
  • 加载的位置完全相同的位置
  • 仅在输入文本时添加新引脚。如果文本输入为空,则不添加引脚

没有代码可以做到这一点。引脚附加到地图的唯一两个地方是地图图像加载功能和地图点击功能 - 就是这样!

PNotify按钮如何添加引脚?

0 个答案:

没有答案