当我点击菜单时,菜单显示,但当指针离开菜单时,它会在2-5秒后隐藏。
我希望菜单在点击时切换,并在我点击页面上的任何其他位置时显式隐藏,如this demo.所示 this fiddle 我的代码如下:
$(document).ready(function() {
$(".MyAccount").click(function() {
var X = $(this).attr('id');
if (X == 1) {
$(".submenu").hide();
$(this).attr('id', '0');
} else {
$(".submenu").show();
$(this).attr('id', '1');
}
});
//Mouseup textarea false
$(".submenu").mouseup(function() {
return false
});
$(".myaccount").mouseup(function() {
return false
});
//Textarea without editing.
$(document).mouseup(function() {
$(".submenu").hide();
$(".MyAccount").attr('id', '');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="MyAllMenu" style='margin: 50px'>
<div class="MyMenu">
<a class="MyAccount">
<span>My Settings</span>
</a>
<div class="submenu" style="display: none;">
<ul class="AllMenuList">
<li>
<a href="/Default.aspx">Dashboard</a>
</li>
<li>
<a href="#Profile">Profile</a>
</li>
<li>
<a href="#settings">Settings</a>
</li>
<li>
<a href="#feedback">Send Feedback</a>
</li>
<li>
<a href="#signout">Sign Out</a>
</li>
</ul>
</div>
</div>
</div>
答案 0 :(得分:1)
检查FIDDLE。 onclick隐藏/显示菜单现在正在工作。我已将(“。myaccount”,“。submenu”)添加到鼠标文件事件中。
$(document).ready(function() {
$(".MyAccount").click(function () {
var X = $(this).attr('id');
if (X == '1') {
$(".submenu").hide();
$(this).attr('id', '0');
}
else {
$(".submenu").show();
$(this).attr('id', '1');
}
});
//Textarea without editing.
$(document).not(".myaccount",".submenu").mouseup(function () {
$(".submenu").hide();
$(".MyAccount").attr('id', '');
});
});
答案 1 :(得分:0)
问题在于我有一个字典应用程序,可以在悬停时从页面中读取任何文本,并且在禁用此功能时,每件事都可以正常工作。
我没有注意到,因为我在两台计算机上试过,而且我在两台计算机上都使用了这个应用程序。