如果我点击任何地方但是在里面,如何隐藏元素,但也在其中运行javascript?

时间:2017-12-04 05:28:27

标签: javascript jquery html ruby-on-rails stoppropagation

我有一个菜单按钮,如果你点击它,菜单会下降。然后,如果您单击除菜单或按钮之外的HTML上的任何位置,菜单将消失。我通过使用jquery stopPropogation来实现此目的,以防止在单击菜单或按钮时触发$("html").click事件。

但是,我添加了一个指向使用method: :delete的菜单的链接,由于在菜单中禁用了jquery,因此method: :delete也会被忽略,链接会发送GET请求。

如果您点击菜单或菜单按钮内的任何位置,但是还有method: :delete链接,是否可以实现关闭的菜单?

<div id="menu-button">BUTTON</div>
<div id="menu">
  <%= link_to "LOG OUT", logout_path, method: :delete %>
</div>

<script type="text/javascript">
  $("#menu-button").click(function() {
    $("#menu").toggle();
  });
  $("html").click(function() {
    $("#menu").hide();
  });
  $("#menu, #menu-button").click(function(event) {
    event.stopPropagation();
  });
</script>

Fiddle

0 个答案:

没有答案