阻止首先点击移动下拉菜单

时间:2015-12-15 15:28:33

标签: javascript jquery

我制作了这个小网站:http://www.physiotherapie-im-friedrichshain.de 并且知道子页面无法在手机上导航,因为主菜单项在“按下”时直接加载新页面。

我搜索过去几个小时,找不到有效的解决方案。

如何阻止第一次点击带有子页面的菜单项,并使其只打开子菜单或其他任何内容?

谢谢,

了Emil

2 个答案:

答案 0 :(得分:0)

您可以通过从标签中删除链接来完成此操作:

例如替换:

<a href="http://www.physiotherapie-im-friedrichshain.de/unser-angebot/">Unser Angebot</a>

<a href="#">Unser Angebot</a>

如果您想第一次阻止它,如BG101建议的那样,那么点击.menu-item-has-children您可以将网址保存在自定义属性中并将href属性更改为#

<a href-temp="http://www.physiotherapie-im-friedrichshain.de/unser-angebot/" href="#">Unser Angebot</a>

在最终的顺序点击中,您只需交换href-temphref的值。

答案 1 :(得分:0)

尝试绑定点击处理程序,如果该菜单已关闭,则会打开该菜单,但如果该页面已打开则会打开该页面:

&#13;
&#13;
$('.submenu_link').on('click', function(event) {
  if (!$(this).next('.submenu').is(':visible')) {
    event.preventDefault();
    $(this).next('.submenu').show();
    $(this).next('.submenu').focus();
    return false;
  }
});

$('.submenu').on('blur', function() {
  $(this).hide();
});
&#13;
.submenu {
  display: none;
}

.submenu_link {
display: inline-block;
padding: 5px;
background-color: #f5f5f5;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="http://google.com" class="submenu_link">Search Options</a>
<ul class="submenu" tabindex="-1">
  <li>Advanced Search</li>
  <li>Get Lucky</li>
</ul>
&#13;
&#13;
&#13;