单击事件禁用,双击事件跳转

Posted kcat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单击事件禁用,双击事件跳转相关的知识,希望对你有一定的参考价值。

响应式网页设计:

  在移动端的时候,通常导航菜单是双击跳转页面,单击事件只显示二级列表。

 

  $("a").click(function() {
    if(限制条件) {
      if($(this).siblings("ul").length != 0) {
        return false; //有二级菜单禁用跳转
      }
    }
  });
  $("a").dblclick(function() {
    window.location.href = $(this).attr("href"); //双击跳转
  });

 

示例

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title></title>
<style>
  .menu {
    display: none;
  }
</style>
</head>

<body>
<ul class="main-menu">
  <li>
    <a href="http://www.baidu.com">一级菜单</a>
    <ul class="menu">
      <li>
        <a href="http://www.weibo.com">二级菜单</a>
      </li>
    </ul>
  </li>
  <li>
    <a href="http://www.baidu.com">一级菜单</a>
  </li>
  <li>
    <a href="http://www.baidu.com">一级菜单</a>
  </li>
  <li>
    <a href="http://www.baidu.com">一级菜单</a>
  </li>
  <li>
    <a href="http://www.baidu.com">一级菜单</a>
    <ul class="menu">
      <li>
      <a href="http://www.weibo.com">二级菜单</a>
      </li>
    </ul>
  </li>

</ul>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script>
  $(function() {
    $(‘.main-menu‘).children("li").each(function() {
      $(this).find("a").hover(function() {
        $(this).siblings(".menu").show();
      }, function() {
        $(this).siblings(".menu").hide();
      });
    })

    $(‘.main-menu‘).children("li").each(function() {
      /*单击禁用*/
      $(this).children("a").click(function() {
        if($(window).width() <= 768) {
          if($(this).siblings(".menu").length != 0) {
            return false;
          }
        }
      });
      /*双击跳转*/
      $(this).children("a").dblclick(function() {
        window.location.href = $(this).attr("href");
      });
    });
  });
</script>
</body>

</html>

 

以上是关于单击事件禁用,双击事件跳转的主要内容,如果未能解决你的问题,请参考以下文章

如何禁用鼠标双击事件

MFC中如何在指定的区域响应鼠标单击事件

单击事件和双击事件冲突问题

如何区分鼠标的单击和双击事件

怎样使单击事件变为双击事件(50分)

双击和单击事件冲突解决方法