在safari,edge和IE上的mouseenter和mouseleave

时间:2018-05-07 16:06:31

标签: javascript cross-browser

我写了一个js代码来触发地图区域上的mouseenter和mouseleave。 它适用于Chrome和Firefox,但不适用于Safari,Edge和IE。

我真的不明白为什么。

这是我的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');
}

您可以在此处播放:https://codepen.io/fantomette/pen/pVdLwM

这段代码有什么问题?或许你知道另一种方法吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

我更换了#34; mouseenter&#34;和&#34; mouseleave&#34;通过&#34; mouseover&#34;和#34; mouseout&#34;它在每个浏览器中都能正常工作。