Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 第一次单击后启用链接_Javascript_Jquery_Html_Css_Wordpress - Fatal编程技术网

Javascript 第一次单击后启用链接

Javascript 第一次单击后启用链接,javascript,jquery,html,css,wordpress,Javascript,Jquery,Html,Css,Wordpress,要求: 当我第一次单击具有下拉菜单的菜单项时,它应该显示其下拉菜单,当我第二次单击同一菜单项时,它将重定向到自己的页面。 请考虑一下情况。菜单项仅在下拉菜单打开时重定向到其自己的页面 参考图像: 参考网站链接: 参考网站注意事项: 1请打开手机视图上的参考网站链接。 2点击关于页面,而不是牙科页面,再次点击关于页面,当你们第二次点击关于页面时,它会进入自己的页面。但在这种情况下,我想打开它的下拉列表,如果我点击了这个页面,它就会转到它自己的页面 目前我正在使用jQuery绑定函数并通过event

要求:

当我第一次单击具有下拉菜单的菜单项时,它应该显示其下拉菜单,当我第二次单击同一菜单项时,它将重定向到自己的页面。 请考虑一下情况。菜单项仅在下拉菜单打开时重定向到其自己的页面

参考图像:

参考网站链接:

参考网站注意事项:

1请打开手机视图上的参考网站链接。 2点击关于页面,而不是牙科页面,再次点击关于页面,当你们第二次点击关于页面时,它会进入自己的页面。但在这种情况下,我想打开它的下拉列表,如果我点击了这个页面,它就会转到它自己的页面

目前我正在使用jQuery绑定函数并通过event.preventDefault禁用链接,但我没有解决我的问题 这是我的密码

jQuery代码:


对不起,我的语言错了,汉克斯

您不应该在$document.ready函数中处理click事件,而应该尝试在每个li中内联处理它

<li id="link1" onclick="ShowMenu('#menu1', 'index.html')">
  <ul class="dropdown" id="menu1">
    ...
  </ul>
</li>
<li id="link2" onclick="ShowMenu('#menu2', 'aboutus.html')">
  <ul class="dropdown" id="menu2">
    ...
  </ul>
</li>

<script>
  function ShowMenu(menuId, linkRef){
    var display = $(menuID).css('display');
    if(display == 'block')
      window.location.href = linkRef;
    else{
      $('dropdwon').hide();          
      $(menuId).show();
    }
  }
</script>
在这里,我要做的是调用ShowMenu函数,将我要显示的菜单id作为参数和链接到它的页面的url。
然后,该功能检查是否显示该菜单。如果显示,则会将用户重定向到url。如果没有,则继续隐藏所有其他下拉列表,并仅显示单击的下拉列表。

您可以使用CSS类切换查看下拉列表是否打开,并相应地执行操作。假设您当前的代码工作正常,可以打开下拉列表

$("body").on("click",".flexnav li.parent-menu-item > a",function(e){
   var dropdowns=$(this).parent('li').children(".sub-menu");
   var menu=$(this).parents(".flexnav li.parent-menu-item").children(".sub-menu");
   if(dropdowns.size()>0) {
       if(!menu.hasClass('open')) {
           e.preventDefault();
           menu.addClass('open');
           menu.show();
       }
   }
}); 
$("body").on("click",".flexnav li.parent-menu-item > a",function(e){
   var dropdowns=$(this).parent('li').children(".sub-menu");
   var menu=$(this).parents(".flexnav li.parent-menu-item").children(".sub-menu");
   if(dropdowns.size()>0) {
       if(!menu.hasClass('open')) {
           e.preventDefault();
           menu.addClass('open');
           menu.show();
       }
   }
});