Javascript jQuery:如何创建带有href标题的单击式下拉菜单

Javascript jQuery:如何创建带有href标题的单击式下拉菜单,javascript,jquery,Javascript,Jquery,我需要制作一个具有以下行为的下拉菜单: 单击-打开一个子菜单 双击-打开一个链接 目前,双击链接可以工作,但子菜单无法打开。考虑到下面的代码,我如何才能最好地创建所需的效果 <ul class="menu"> <li><a href="http://www.google.com">Menu 1</a> <ul class="submenu"> <l

我需要制作一个具有以下行为的下拉菜单:

  • 单击-打开一个子菜单
  • 双击-打开一个链接
目前,双击链接可以工作,但子菜单无法打开。考虑到下面的代码,我如何才能最好地创建所需的效果

<ul class="menu">
            <li><a href="http://www.google.com">Menu 1</a>
            <ul class="submenu">
                <li class="li"><a href="http://www.google.com">submenu 1</a></li>
                <li class="li"><a href="http://www.google.com">submenu 2</a></li>
            </ul></li>
            <li><a href="http://www.google.com">Menu 2</a>
            <ul class="submenu">
                <li class="li"><a href="http://www.google.com">submenu 1</a></li>
                <li class="li"><a href="http://www.google.com">submenu 2</a></li>
            </ul>
            </li>
            <li><a href="http://www.google.com">Menu 3</a>
                <ul class="submenu">
                <li class="li"><a href="http://www.google.com">submenu 1</a></li>
                <li class="li"><a href="http://www.google.com">submenu 2</a></li>
            </ul>
            </li>
        </ul

.submenu{
        display: none;
    }

 $(document).ready(function() {
    $('.menu').show();

    $(".menu > li > a").attr("data-count", "0");
    $(".menu > li > a").on("click", function(){

    var clickCount = $(this).attr("data-count");
    clickCount ++;
    if (clickCount == 1) {
      $(this).attr("data-count", clickCount);
      return false
    } else {
      return true;
    }
});
        });

  • 如果使用jquery,则不需要手动计算点击次数,因为已经存在一个事件

    对于一次单击,使用click事件;对于两次单击,使用dblclick事件


    您只需在
    中添加一行,然后单击
    处理程序:

        $(this).next('.submenu').show();
    
    $(文档).ready(函数(){
    $('.menu').show();
    $(“.menu>li>a”).attr(“数据计数”,“0”);
    $(“.menu>li>a”)。在(“单击”,函数()上){
    $(this.next('.submenu').show();
    var clickCount=$(this.attr(“数据计数”);
    点击计数++;
    如果(单击计数=1){
    $(this.attr(“数据计数”,单击计数);
    返回错误
    }否则{
    返回true;
    }
    });
    });
    
    。子菜单{
    显示:无;
    }
    
    

    A
    dblclick
    是快速连续的两次单击,与相隔几秒钟的两次单击不同。