vue 鼠标移入移出事件执行多次(尤其ie)

来自:https://www.cnblogs.com/myfirstboke/p/9150809.html  侵删

<p  @mouseover="over($event)" @mouseout="out($event)">互相关注</p>


out (t) {
  t.target.innerText = '互相关注'
},
over (t) {
  console.log(t, 1)
  console.log(t.target.innerText, 1)
  t.target.innerText = '取消关注'
},
 不能这么写,这么写的话ie10点击取消关注会卡死,应为mouseover有冒泡,这里应该用mouseenter只在当前,不用event

****************************************************************************************************

****************************************************************************************************

最好这么写

<p class="focus-span" v-if="item.concernStatus==2" @click="focusTogether(item.userId)" @mouseenter="over" @mouseleave="out">{{msg}}</p>
data里面
msg:'互相关注'
out () {
  this.msg = '互相关注'
},
over () {
  this.msg = '取消关注'
},
不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。对应mouseout;相当于有冒泡
只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。对应mouseleave
这样的话,mouseenter子元素不会反复触发事件,否则在IE中经常有闪烁情况发生。这就时为啥ie兼容的时候要卡死

 

posted @ 2019-08-05 16:31  abcByme  阅读(3368)  评论(0编辑  收藏  举报