【发布时间】:2017-08-01 22:23:06
【问题描述】:
我有一组 3 个菜单项,我正在尝试向其中添加 mouseenter 事件。我似乎根本无法让它工作。我也尝试过遍历 .menu-item 类,但没有任何反应。
这让我发疯了。有谁知道为什么这不起作用?
非常感谢您的任何帮助
代码如下,Codepen 链接为:https://codepen.io/emilychews/pen/VzaOoe
(我也没有 jQuery 解决方案)。
JS
var menuItem = document.querySelectorAll('.menu-item');
function myMouseEnter() {
alert('mouse entered');
}
menuItem.addEventListener('mouseenter', myMouseEnter, false)
使用循环注释掉的版本
// function myMouseEnter() {
// for(i=0; i < menuItem.length; i++){
// alert ('mouse entered');
//
// }
// }
// menuItem.addEventListener('mouseenter', myMouseEnter, false)
CSS
.menu-item {
padding: 10px;
font-family: arial;
}
HTML
<ul class="unclick--menuitems">
<li class="menu-item item1"><a href="//google.com">About</a></li>
<li class="menu-item item2"><a href="//google.com">Work</a></li>
<li class="menu-item item3"><a href="//google.com">Contact</a></li>
</ul>
【问题讨论】:
-
menuItem是HTMLCollection,因此要添加监听器,您需要遍历它并向集合中的每个元素添加监听器
标签: javascript mouseevent mouseenter