获取事件绑定的元素

时间:2017-08-29 10:15:09

标签: javascript html vue.js

我使用Vue中的@click属性将事件绑定到元素(它的行为与javascript .onclick属性相同)。

我遇到的问题是通过从子DOM节点传播来调用事件时单击事件我将子DOM元素作为target属性,我找不到一种干净的方式(不搜索父项) ,因为元素可能会嵌套在内部)来访问事件在事件回调中注册的DOM元素。



<td @click="onCellClick($event)">
  <div class="text">
    <span>default</span>
  </div>
</td>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:3)

我认为事件的混乱是target vs currentTarget

  

event.target触发事件调度程序触发,event.currentTarget是您为侦听器分配的内容。

Vue.component('cell', {
  template: '#cell',
  methods: {
    onCellClick: function (e) {
      console.log(e.currentTarget)
    }
  }
});

答案 1 :(得分:0)

您可以使用refs

<td @click="onCellClick($event)" ref="cell1">
  <div class="text">
    <span>default</span>
  </div>
</td>

onCellClick(evt){
   console.log(this.$refs.cell1)
}