zoukankan      html  css  js  c++  java
  • 单击事件禁用,双击事件跳转

    响应式网页设计:

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

      $("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>

    模拟双击事件

      var touchtime = new Date().getTime();

        $("a").click(function(){

          if( new Date().getTime() - touchtime < 500 ){

                   console.log("dblclick");

          }else{

            touchtime = new Date().getTime();

            console.log("click");

          }

      });

  • 相关阅读:
    Socket的应用案例
    利用XStream实现对象XML话
    策略模式
    深入理解Java引用类型
    java 消息机制 ActiveMQ入门实例
    activity工作流表结构分析
    Spring MVC 之 Hello World
    如何发布Web项目到互联网
    ionic开发ios app
    ionic开发android app步骤
  • 原文地址:https://www.cnblogs.com/kcat/p/6215123.html
Copyright © 2011-2022 走看看