jQuery:带控件的 onclick 下拉菜单

发布于 2025-01-01 23:14:43 字数 491 浏览 0 评论 0原文

我希望创建一个菜单(注册菜单),请参阅了解它。当用户单击此按钮/链接时,会出现一个下拉菜单,他可以使用该菜单执行某些操作(此处登录)。

链接的行为应如下所示:

  1. 单击此按钮/链接时应出现下拉菜单。
  2. 当单击页面上的任意位置(包括按钮/链接本身)但在菜单之外时,菜单应该消失。
  3. 如果单击下拉菜单上的某个位置,菜单不应消失。
  4. 下拉菜单中的所有控件都应该起作用。

我确实设法让前三个工作正常,但下拉菜单中的控件(第四个行为)不起作用。

javascript/jQuery 代码以及 html 代码在 此处 给出(jsfiddle 链接,与上面相同)。您可以分叉它并进行更改。

谢谢。

I wish to create a menu (a sign-up menu), see this to get an idea of it. When user clicks on this button/link a drop-down menu appears, using which he can do something (here login).

The behaviour of the link should be the following:

  1. The drop-down menu should appear when clicked on this button/link.
  2. when clicked anywhere on the page (including the button/link itself), but outside the menu, the menu should disappear.
  3. If clicked somewhere on the drop-down menu, the menu should not disappear.
  4. All the controls in the drop-down menu should work.

I did somehow managed to get first three working, but then the controls within the drop-down menu (4th behaviour) are not working.

The javascript/jQuery code along with html code is given here (jsfiddle link, same as above). You can fork it and make changes.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

恏ㄋ傷疤忘ㄋ疼 2025-01-08 23:14:43

我对你的 jsFiddle 上的内容进行了分叉: http://jsfiddle.net/DukyJ/

如果你看看代码,我刚刚添加了一个额外的 div 来获取页面的内容,这样我就不必将点击事件分配给整个主体,而只分配给该 div。
然后,我删除了 return false 和 stopProppagation,只是在 href 中的链接中添加了一个“#”,因为它不是必需的。
最后,只是在登录链接和登录面板中添加了一些样式,这样您就可以看到菜单出现在内容上,正如我认为您希望它出现的那样。

I made a fork of what you have on your jsFiddle: http://jsfiddle.net/DukyJ/

If you look at the code I just added an extra div to have the page's content so I don't have to assign click events to the whole body just only to that div.
Then, I removed the return false and the stopProppagation and just added a '#' to the link in the href because it wasn't necesary.
And finally just added some style to the signin link and the singin panel so you can see that the menu appears over the content as I suppose you want it to appear.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文