3

我有以下菜单,可以在桌面上完美运行。将鼠标悬停在项目上时,会出现二级菜单。

在平板电脑/移动设备上,这是点击/触摸

我希望在平板电脑/移动设备上单击时菜单悬停效果(触摸平板电脑)消失。

例如ipad,当点击我的列表时,二级菜单显示,但当点击离开菜单时需要它消失

这可能吗?

CSS:

* {outline:none; border:none; margin:0; padding:0; font:14px arial,sans-serif;}
body {background: url(images/bg.gif) repeat;}
#top {background: url(images/top_tile.png) repeat-x; height:140px; width:100%;}
.wrap {width:980px; margin:0 auto;}
#top1 {height:60px;}
.logo {padding-top:10px;}
#menu {height:48px;}
/*NAV*/
#nav{
    list-style:none;
    font-weight:bold;
    /* Clear floats */
    float:left;
    width:100%;
}
#nav li{
    float:left;
    margin-right:10px;
    position:relative;
}
#nav a{
    display:block;
    padding:20px 25px 7px 15px;
    color:#333;
    height:25px;
    text-decoration:none;
}
#nav a:hover{
    color:#fff;
    background:#ff9900;
    text-decoration:none;
}

/*--- DROPDOWN ---*/
#nav ul{
    background:#fff; 
    list-style:none;
    position:absolute;
    left:-9999px; 
    min-width:200px;
    border-radius:0px 0px 3px 3px;
    border:1px solid #ccc;
}
#nav ul li{
    padding-top:1px; 
    float:none;
    background:#fff;
    }
#nav ul a{
    white-space:nowrap; 
    font-size:13px;
    color:#666;
    padding: 10px 0px 5px 15px;
}
#nav li:hover ul{ 
    left:0; 

}
#nav li:hover a{
    background:#ff9900;
    text-decoration:none;
}
#nav li:hover ul a{
    text-decoration:none;
    background:#fff;

}
#nav li:hover ul li a:hover{
    background:#ff9900;
    color:#fff;
}

HTML:

<body>
    <div id="top">
        <div id="top1" class="wrap"><img src="images/logo.gif" class="logo" /></div>
            <div id="menu" class="wrap">
                <ul id="nav">
                    <li><a href="#">My Lists</a>
                        <ul>
                            <li><a href="#">List 1</a></li>
                            <li><a href="#">List 2</a></li>
                            <li><a href="#">List 3</a></li>
                            <li><a href="#">View all Lists</a></li>
                        </ul>
                    </li>
                    <li><a href="/pages/following">Following</a>
                        <ul>
                            <li><a href="#">Follow 1</a></li>
                            <li><a href="#">Follow 2</a></li>
                            <li><a href="#">Follow 3</a></li>
                            <li><a href="#">View all Follows</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>
    </div>
</body>

小提琴

4

1 回答 1

1
$(document).click(function() {
alert("me");
});

$(".myDiv").click(function(e) {
e.stopPropagation(); // This is the preferred method.
return false;        // This should not be used unless you do not want
                     // any click events registering inside the div
});

---正如这里提到的。单击页面上的任何位置时jQuery隐藏元素

于 2012-12-12T02:29:45.930 回答