我有一个使用标准 LI 和 UL 构建的自定义菜单。它有一层子菜单。当我在 Google Chrome 中单击这些子菜单时,不会触发 click 事件。这适用于 IE,但不适用于 Chrome。
这个问题最近出现了,我很确定不久前一切都很好。
这是HTML:
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<style type="text/css">
#navMenu {
width: 900px;
position: absolute;
}
#navMenu ul {
padding: 0;
margin: 0 9px;
}
#navMenu li {
margin: 3px 2px 0;
float: left;
list-style-type: none;
}
#navMenu li a {
display: block;
color: #000;
border: 1px solid #000;
background: #E1DFD0 top left repeat-x;
height: 15px;
line-height: 1.154em;
text-decoration: none;
font: normal normal bold 0.985em/normal arial, sans-serif;
float: left;
padding: 0px 6px 3px;
}
#navMenu li a {
float: none;
}
#navMenu li a:hover, #navMenu li a.on{
color: #FFF;
background: #740404 top left repeat-x;
}
/*Sub-Menus*/
#navMenu li ul{
margin: 0 0 0 -2px;
padding: 0;
display: none;
visibility:hidden;
position: absolute;
}
#navMenu li:hover ul{
display:block;
visibility:visible;
width: 10em;
}
#navMenu li li{
display: list-item;
clear: both;
list-style: none;
margin: 0;
}
#navMenu li li a{
text-decoration: none;
width: 150px;
}
#navMenu li li a:hover{
color:#fff;
}
</style>
</head>
<body>
<div class="position:relative; top:0">
<div id="navMenu">
<ul>
<li>
<a href="#" >Menu 1</a>
</li>
<li>
<a href="#">Menu 2</a>
<ul>
<li>
<a href="#">Menu 2.1</a>
</li>
<li>
<a href="#">Menu 2.2</a>
</li>
</ul>
</li>
<li>
<a href="#">Menu 3</a>
<ul>
<li>
<a href="#">Menu 3.1</a>
</li>
<li>
<a href="#">Menu 3.2</a>
</li>
</ul>
</li>
<li>
<a href="#">Menu 4</a>
<ul>
<li>
<a href="#">Menu 4.1</a>
</li>
<li>
<a href="#">Menu 4.2</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<script type="text/javascript">
$('#navMenu li>a').click(function() {
console.log("clicked a link");
});
</script>
</body>
</html>
这里也有一个小提琴。
我无法解释这一点,任何帮助将不胜感激!
谢谢