jQuery点击事件堆叠

达斯·贝斯托(DasBeasto)

我有3个元素。每个对象中都有一个元素,单击该元素可找到其父元素并将其发送出去以进行处理。问题是单击事件似乎正在堆叠。例如,如果我单击元素#1,它将发送要处理的元素#1。然后,如果我单击元素#3,它将发送元素#1和元素#3。然后,如果我单击元素#2,它将发送元素#1,元素#3和元素#2。我如何只发送click事件的直接父项。

相关代码:

    $('.tiles ').on('click', '.fa-pencil', function(e){
        e.stopPropagation();

        var tile = $(this).closest(".live-tile");
        showEditDialog(tile);

    });

.tiles是所有父母共享的包装器类,.live-tile是被送走的单个父母,.fa-pencil是被单击的孩子,而showEditDialog是被送走的孩子。

编辑 - -

<div class="tiles">
    <!-- <div class="live-tile" >
         <span id = "bar" class = "tile-title optionsBar"><i class="fa fa-2x fa-pencil"></i><i  class="fa fa-2x fa-times-circle"></i></span>
         <div class ="mainDiv"></div>
        <span class = "tile-title imageBar"><img class = "image" src = "http://9gag.com/favicon.ico"></img></span>
        </div>-->
</div>

注释中的内容(.tiles之外的所有内容)都是动态添加的,但这就是它的样子。

达斯·贝斯托(DasBeasto)

没关系,我发现这不是代码中关注该问题的特定要点。showEditDialog()函数被调用了两次,由于某种原因,第二个调用冒泡到父磁贴。我只是删除了对自身的调用,之后才调用了正确的调用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章