onmouseleave 鼠标移出事件

在textarea中用中文输入法输入内容时 发现mouseleave事件被触发 导致输入框被隐藏

解决办法 给mouseleave事件处理函数加判断条件 判断光标是否在容器内

1
2
3
4
5
6
7
8
9
10

fn(e) {
const x = e.offsetX; // 以当前事件的目标对象左上角为原点,定位x轴坐标
const y = e.offsetY; // 以当前事件的目标对象左上角为原点,定位y轴坐标
const w = this.$refs.container.offsetWidth; // 绑定了鼠标移出事件的容器宽度包括了 padding 和 border
const h = this.$refs.container.offsetHeight; // 绑定了鼠标移出事件的容器高度包括了 padding 和 border
if (x < 0 || y < 0 || x >= w || y >= h) { // 判断光标是否移出容器

}
},