本文介绍了野生动物园,边缘和IE上的mouseenter和mouseleave的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我写了一个js代码来触发地图区域上的mouseenter和mouseleave。
它可以在Chrome和Firefox上正常运行,但不能在Safari,Edge和IE中运行。

I wrote a js code to trigger mouseenter and mouseleave on map areas.It works fine in Chrome and Firefox, but not in Safari, Edge, nor IE.

我真的不明白为什么。

这是我的JavaScript:

Here is my javascript :

var areas = document.getElementsByTagName('area');

// set event listener for all objects
for (var i = 0; i < areas.length; i++) {
    areas[i].addEventListener('mouseenter', inArea);
    areas[i].addEventListener('mouseleave', outArea);
}

// On mouse enter
function inArea() {
    console.log('mouseenter');
}

// On mouse leave
function outArea() {
    console.log('mouseleave');
}

您可以在此处使用它:

You can play with it here : https://codepen.io/fantomette/pen/pVdLwM

什么此代码有误吗?也许您知道其他方法吗?

What is wrong with this code ? Or maybe you know an other way to do it ?

谢谢。

推荐答案

我将 mouseenter和 mouseleave替换为 mouseover和 mouseout,并且在所有浏览器中都可以正常使用。

I replaced "mouseenter" and "mouseleave" by "mouseover" and "mouseout" and it works fine in every browsers.

这篇关于野生动物园,边缘和IE上的mouseenter和mouseleave的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-14 16:34