在div中激活元素的监听器而不激活div的监听器

问题描述 投票:0回答:1

我目前正在做一个简单的引导网站页面构建器。基本上,您有一个居中的主容器,该主容器在屏幕上占据12列。使用按钮,您可以添加简单的列(占12列的空间),也可以添加两列(每列占6/12的列)。在列内,通过另一个按钮,您可以添加图像(使用上传器)或导航栏(至少具有1个链接)。这些信息均以JSON形式收集。

为了能够编辑图像或导航栏,我创建了两个面板,每个面板的信息都需要编辑。图片可以居中或调整大小,同时您可以向导航栏添加更多链接并更改其颜色,大小等。

为了能够区分您在列中放置的元素的类型,我在列本身上添加了一个具有类('thiscol')的侦听器。如果单击包含图像的列,则会得到其自己的编辑面板,该面板的修改内容将添加到JSON中。之后,我在链接上分别添加了一个侦听器,您可以在具有自己的ID(随机生成)的新面板中对其进行编辑。因此,您拥有一个导航栏面板,该面板允许您添加新链接,以及一个编辑面板,该面板允许您分别修改每个链接。如果您单击链接,则将隐藏导航栏面板以显示链接编辑面板。如果您再次单击该列但未单击链接,我将执行相反的操作,隐藏链接编辑面板以显示导航栏面板。

存在我的问题:如果单击链接,它将“执行”链接的侦听器,然后“执行”该列本身的侦听器。因此,它将显示链接编辑面板并隐藏导航栏面板,然后将隐藏链接编辑面板并显示导航栏面板,取消操作。

我该怎么做才能仅激活链接上的侦听器,而不激活包含链接的列本身?

这是我的构建器的屏幕,其中包含图像列和导航栏列:https://imgur.com/dHQj1nJ

[您看到的是带有红色边框的列(这意味着我通过单击选择了它)和没有边框的图像(这意味着该列中有内容并且我没有将鼠标悬停或选择它)。

[在左侧,导航栏面板添加一个链接(并更改列背景颜色),但标题为'新链接名称'和'新链接目标',当您单击链接时出现,而不是单击时出现。在列上。这不是正确的面板,但实际上实际上已按照我的意愿进行了修改。

这里是我的两个侦听器的hastebin,它是一个非常简化的版本,仅用于显示问题:https://hastebin.com/irovokocir.js

我希望不会有很多错别字,因为英语不是我的母语,并且我的解释很清楚(至少很长,但很清楚)。

感谢您阅读,唐基

javascript jquery dom
1个回答
0
投票

如果时间太长,并且最少的信息就足够了:

我希望能够激活元素的侦听器而不激活包含我元素的div的侦听器。

这是一个粘贴程序:https://hastebin.com/irovokocir.js

第一个侦听器位于我的div上,而第二个侦听器位于我的div中包含的链接上。当我单击链接时,它首先触发“ a”侦听器,然后触发“ .thiscoll”侦听器,而我只想触发“ a”侦听器。

有可能吗?

© www.soinside.com 2019 - 2024. All rights reserved.