Javascript 第一次单击后启用链接
要求: 当我第一次单击具有下拉菜单的菜单项时,它应该显示其下拉菜单,当我第二次单击同一菜单项时,它将重定向到自己的页面。 请考虑一下情况。菜单项仅在下拉菜单打开时重定向到其自己的页面 参考图像: 参考网站链接: 参考网站注意事项: 1请打开手机视图上的参考网站链接。 2点击关于页面,而不是牙科页面,再次点击关于页面,当你们第二次点击关于页面时,它会进入自己的页面。但在这种情况下,我想打开它的下拉列表,如果我点击了这个页面,它就会转到它自己的页面 目前我正在使用jQuery绑定函数并通过event.preventDefault禁用链接,但我没有解决我的问题 这是我的密码 jQuery代码:Javascript 第一次单击后启用链接,javascript,jquery,html,css,wordpress,Javascript,Jquery,Html,Css,Wordpress,要求: 当我第一次单击具有下拉菜单的菜单项时,它应该显示其下拉菜单,当我第二次单击同一菜单项时,它将重定向到自己的页面。 请考虑一下情况。菜单项仅在下拉菜单打开时重定向到其自己的页面 参考图像: 参考网站链接: 参考网站注意事项: 1请打开手机视图上的参考网站链接。 2点击关于页面,而不是牙科页面,再次点击关于页面,当你们第二次点击关于页面时,它会进入自己的页面。但在这种情况下,我想打开它的下拉列表,如果我点击了这个页面,它就会转到它自己的页面 目前我正在使用jQuery绑定函数并通过event
对不起,我的语言错了,汉克斯 您不应该在$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();
}
}
});