我正在尝试创建一个具有可点击元素的自定义卡片。整个元素包含在<a>
标记中,而内部可点击包含一个使用preventDefault()和stopPropagation()的点击处理程序。但是,点击仍然会冒泡进入DOM。
演示显示here。第一张卡未包含在<a>
标记中,因此控制台会记录事件处理程序响应。如何阻止内部可点击内容冒泡到DOM?
更新 除了on-tap事件之外,处理点击事件似乎已经完成了目前所需的工作。但是,对两者使用相同的函数意味着调用两个处理函数。我想对两个只使用一次的函数使用相同的函数。怎么做到这一点?
此外,当元素内部使用<paper-ripple></paper-ripple>
时,单击内部可点击时,不会触发任何点击或点击事件。有什么建议?
答案 0 :(得分:0)
首先,<div>
标记永远不应位于<a>
标记内。
其次,因为你的<a>
包裹了<div>
(而不是<folder-card>
)元素,如果你停止传播,那么所有应该发生的是指向食谱卡的链接。你是说网络事件也在解雇。或者你正在尝试点击点,只获得配方页面的链接?
将<a>
标记放在<folder-card>
内,不要在其中添加其他<div>
。添加CSS以生成<a>
标记display:block;
,然后使用绝对定位来覆盖其余部分。