鼠标up功能阻止切换
Mouseup Function Prevents Toggle
我有相应的按钮和div,如果单击一个按钮,则显示菜单,并且可能打开的任何其他菜单被隐藏。
如果用户单击页面上的其他地方,我也会隐藏这些菜单,但是我使用的mouseup
事件可以防止在用户第二次单击按钮元素时隐藏菜单。
$(document).on("click", ".some-btn", function(e) { //toggles the dropdown menu
e.preventDefault();
var $this = $(this).parent().find('.dropdown-menu');
$(this).nextAll('dropdown-menu').first().toggle();
$(".actions-dropdown-menu").not($this).hide();
});
$(document).mouseup(function (e){ //hides the menu if user clicks elsewhere
var dropdown = $('.dropdown-menu');
if(!dropdown.is(e.target) && dropdown.has(e.target).length === 0){
dropdown.hide();
}
});
按钮/菜单:
<button class="some-btn"></button>
<ul class="dropdown-menu" style="display: none;">
<li>Option 1</li>
<li>Option 2</li>
<li>Option 3</li>
</ul>
<button class="some-btn"></button>
<ul class="dropdown-menu" style="display: none;">
<li>Option 1</li>
<li>Option 2</li>
<li>Option 3</li>
</ul>
我已经尝试取出条件来检查下拉框是否不是target
,但仍然没有运气
我正在检查mouseup上的错误元素。应该检查按钮而不是菜单。现在可以正常工作了:
$(document).mouseup(function (e){ //hides the menu if user clicks elsewhere
var button = $('.some-btn');
if(!button .is(e.target) && button.has(e.target).length === 0){
$('.dropdown-menu').hide();
}
});
相关文章:
- 添加文字和评论功能更新Div
- JavaScript打印功能使日历停止工作
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 如何防止网页加载后自动启动功能
- 除修剪外的其他功能
- 悬停功能触发器
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 删除CKEditor工具栏按钮,但不删除功能
- 异步facebook功能
- 如何将chrome扩展功能移植到移动设备(特别是jquery和trello)
- jQuery滚动功能只工作一次
- Graphiti中是否有任何工具提示功能
- React redux初始化功能,无论状态变化如何
- 在哪里可以学习ECMAScript标准中尚未包含的JavaScript功能
- 正在获取select上的功能id
- Rhino打印功能
- 使用(navigator.geolocation)检测浏览器功能错误
- KeyPress和Keydown在这个特定的代码上不起作用.只有key-up起作用
- 如何为php选择数据库添加SLIDE DOWN/SLIDE UP功能
- 鼠标up功能阻止切换