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");

          }

      });

  • 相关阅读:
    个人心情闲扯贴~~
    近阶段学习感悟--大一下半学期
    HDU 1003 Max Sum 解题报告
    开始我的新园地--献给我的那些学长们
    软件公司职位简称
    Sql Server参数化查询之where in和like实现详解 [转]
    21个值得收藏的Javascript技巧
    [转]js刷新父窗体
    Oracle10g 连接 sqlserver 在server2008r2 中连接 iis7 .net4.0
    Oracle10g 连接 sqlserver hsodbc dblink 方式 非透明网关
  • 原文地址:https://www.cnblogs.com/kcat/p/6215123.html
Copyright © 2011-2022 走看看