无法使用stopPropagation()停止点击传播

时间:2015-06-21 07:57:02

标签: javascript polymer polymer-1.0

我正在尝试创建一个具有可点击元素的自定义卡片。整个元素包含在<a>标记中,而内部可点击包含一个使用preventDefault()和stopPropagation()的点击处理程序。但是,点击仍然会冒泡进入DOM。

演示显示here。第一张卡未包含在<a>标记中,因此控制台会记录事件处理程序响应。如何阻止内部可点击内容冒泡到DOM?

更新 除了on-tap事件之外,处理点击事件似乎已经完成了目前所需的工作。但是,对两者使用相同的函数意味着调用两个处理函数。我想对两个只使用一次的函数使用相同的函数。怎么做到这一点?

此外,当元素内部使用<paper-ripple></paper-ripple>时,单击内部可点击时,不会触发任何点击或点击事件。有什么建议?

1 个答案:

答案 0 :(得分:0)

首先,<div>标记永远不应位于<a>标记内。

其次,因为你的<a>包裹了<div>(而不是<folder-card>)元素,如果你停止传播,那么所有应该发生的是指向食谱卡的链接。你是说网络事件也在解雇。或者你正在尝试点击点,只获得配方页面的链接?

<a>标记放在<folder-card>内,不要在其中添加其他<div>。添加CSS以生成<a>标记display:block;,然后使用绝对定位来覆盖其余部分。