Polymer 1.0 on-tap事件的目标是孩子

时间:2015-06-02 12:31:40

标签: events polymer

我使用点按来检测元素点击次数。

<div id="parent" on-tap="myclickEvent">
    <h1>Some text<h1>
</div>

但是当我点击它时,被触发事件中的目标属性是h1。 如何更改以使父元素成为目标?

2 个答案:

答案 0 :(得分:9)

试试e.currentTarget。不要期望它显示在console.log中,因为浏览器功能在Chrome中是异步的(实际上甚至不需要记录事件中的事件对象或对象)。但是,如果您在代码中尝试此操作,则可以看到它实际返回div

myclickEvent: function(e){
  ...
  var tag = e.currentTarget.tagName;
  console.log(tag);
}

答案 1 :(得分:2)

这是非常有用的笔记,你应该注意:

  • 确保您的元素具有唯一ID(这非常重要)
  • 如果模板中的元素使用event.currentTarget
  • 如果内容中的元素(shady DOM或shadow DOM)使用Polymer.dom(event).rootTarget