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


    响应式网页设计:

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

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

          }

      });

  • 相关阅读:
    [Selenium]Eclipse hangs at 57% in debug mode with TestNG tests
    [Selenium] CSS3 选择器
    [Selenium]如何实现上传本地文件
    [Selenium]显式等待 Explicit wait & 隐式等待 Implicit wait
    [Selenium]中使用css选择器进行元素定位
    [Selenium]验证点了某个Button之后无反应
    7. Debug on local machine
    6. Manage the driver for browser and the script for Hub
    4. Configure maven in Spring Tool Suite
    3. Install Spring-Tool-Suite & TestNG
  • 原文地址:https://www.cnblogs.com/kcat/p/6215123.html
Copyright © 2020-2023  润新知