欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-07-19 20:27:35
来自:https://www.cnblogs.com/myfirstboke/p/9150809.html 侵删 ......

来自: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兼容的时候要卡死