2015-04-01 92 views
0

当我点击菜单时,菜单显示出来,但是当指针离开菜单时,它会在2-5秒后隐藏。mouseup意外的行为

我想点击后菜单切换,并明确当我点击其他网页的任意位置上的是隐藏,在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

你能把我们当成小提琴吗? – jmartins 2015-04-01 12:47:10

+1

这个演示程序不是完全按照你想要的那样做吗? – Jordumus 2015-04-01 12:48:05

+0

小提琴添加,并不能正常工作拿走鼠标 – 2015-04-01 12:51:04

回答

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', ''); 
    }); 
}); 
+0

这个问题似乎只在铬的问题 – 2015-04-01 12:55:47

+0

@OptPrutal我在MAC上使用铬,它工作正常。 onclick隐藏/显示菜单 – 2015-04-01 12:56:39

+0

它似乎是一个浏览器问题 – 2015-04-01 12:57:48