流星事件的目标是在带有内部图标的链接上表现奇怪
Meteor events target behaving strange on links with inner icons
伙计们,我对流星的事件目标感到困惑:假设我有两个链接,一个里面有一个图标(这里:字体真棒),一个带有简单的"x":
我的模板.html
<a href="#" id="linkA" data-id="link"><i data-id="icon" class="icon-remove icon-white"></i></a>
<a href="#" id="linkB" data-id="link">x</a>
我在每个事件上使用点击事件,两个事件都是一样的:
我的模板.js
Template.myTemplate.events({
'click #linkA': function(event,template) {
event.preventDefault();
console.log(event.target.getAttribute("data-id"));
},
'click #linkB': function(event,template) {
event.preventDefault();
console.log(event.target.getAttribute("data-id"));
}
}
那么我希望他们俩的行为都是一样的。相反,linkA 的事件为我提供了控制台的"图标",这是图标的数据 ID,而 linkB 的事件将我带到控制台的"链接",这是链接的数据 ID。我希望两者都是后者。
知道是什么导致了这种行为吗?
使用 event.currentTarget
而不是 event.target
它会起作用,并学习如何处理嵌套事件和事件冒泡
所以,我们这里有的是事件冒泡。这是javascript的问题,而不是流星的问题。
在第一种情况下,您实际上单击<i>
元素,并且该事件正在冒泡到其父级,并且由于父级具有单击处理程序#linkA
因此它记录了 event.target(这是<i>
)data-id 属性。
您可以在此处阅读有关此内容的更多信息
相关文章:
- 在WordSmith jquery中,双击后什么决定了链接图标的位置
- 活动页面链接图标颜色
- 将鼠标悬停在文本上时显示字形图标链接
- 单击href旁边的链接(删除图标)时删除href(Javascript帮助)
- 无法在谷歌加号图标中指定单独的链接
- Chrome 扩展程序,用于通过在匹配的链接旁边添加图标来操作网页
- 流星事件的目标是在带有内部图标的链接上表现奇怪
- 如何链接laravel中的图标
- 如何超链接OpenLayers图标
- 当使用javascript onclick I'我在IE中得到了一个小链接图标,我该如何删除它
- Boostrap 3崩溃-基于崩溃状态链接图标
- 链接上的浮动图标不接收鼠标单击事件
- 试图在同一行上显示链接文本和链接图标
- 无论如何要显示破碎的图像(链接)图标使用CSS/JS
- 如何在链接文本中替换字体Awesome图标与链接点击上的不同图标
- 链接'静音扬声器'当值= 0时,图标到音量滑块
- 在引导链接中单击插入符号图标不起作用
- 单击外部链接时更改谷歌地图标记图标
- JQuery对话框-添加和ID默认关闭链接("X"图标)
- 谷歌地图API使图标链接