jQuery:带控件的onclick下拉菜单
我想创建一个菜单(注册菜单),请参阅this以了解它。当用户点击这个按钮/链接时,出现一个下拉菜单,使用它可以做一些事情(在这里登录)。jQuery:带控件的onclick下拉菜单
链接的行为应该是以下几点:此按钮/链接,点击后会出现
- 的下拉菜单。
- 当在页面上的任何位置点击(包括按钮/链接本身),但在菜单外,菜单应该消失。
- 如果在下拉菜单的某处点击,菜单不应该消失。
- 下拉菜单中的所有控件都应该有效。
我做了一些设法得到前三个工作,但然后下拉菜单(第四行为)中的控件不起作用。
javascript/jQuery代码连同html代码给出here(jsfiddle链接,与上面相同)。您可以分叉并进行更改。
谢谢。
检查这个
http://thefinishedbox.com/files/freebies/loginfreebie/index.html
下载THA代码
http://thefinishedbox.com/freebies/scripts/jquery-dropdown-login/
这正是我想要的实现,我查看了这个页面的jQuery代码。你能解释一下,你在做什么。 – user1144616 2012-02-04 03:55:41
通过查看页面源文件来下载该源代码。 – Dotnet 2012-02-04 03:56:45
添加了链接以下载源代码检查 – Dotnet 2012-02-04 03:57:51
我做的你有你的jsfiddle什么叉子:http://jsfiddle.net/DukyJ/
如果你在看代码我只是添加了一个额外的div来获得页面的内容,所以我不必分配点击甚至仅仅是对整个身体而言。 然后,我删除了返回false和stopProppagation,并在href中添加了一个'#'链接,因为它不是必需的。 最后,只是在signin链接和singin面板中添加了一些样式,以便您可以看到菜单显示在内容上,因为我认为您希望它显示。
在下拉菜单中的控件仍然无法正常工作。例如,尝试检查“记住我”复选框,它将无法工作。同样,如果您添加“忘记密码”或“立即注册”链接(取代“#”),它将不起作用。似乎是因为'event.preventDefault();'。 – user1144616 2012-02-06 02:12:06
@ user1144616我可以看到。最简单的方法是在复选框上捕获mouseup和keyup事件(因为复选框似乎是唯一受影响的),并手动检查/取消选中它。再次尝试jsfiddle链接以查看它。 – 2012-02-06 02:47:42
哈!我只是问了或多或少相同的问题...你可以在这里看到我的(稍微破碎的)解决方案:http://*.com/questions/9138236/jquery-easy-pulldown-menu – neokio 2012-02-04 03:48:04