我有一个jquery函数可以打开移动浏览器的菜单。它会打开,但只有在点击两次后才能打开。我正在使用jquery mobile,所以我改变了我的;
$(document).ready(function(){
阅读
$(document).on('pageinit', function(){
有问题的功能是;
function showMobileDrop(){
$('.mobileDrop').show("slide", {direction:"up"}, 1000);
}
$(function(){
$('.cMenu').click(showMobileDrop);
});
这与我页面上的此菜单相互作用。移动菜单是隐藏的,除非页面宽度小于700px;
<div class="mobileMenu">
<a href="#" class="cMenu">Menu<img src="images/icons/menu.png"></a>
<ul class="mobileDrop">
<a href="#closeMenu"><li>Close</li></a>
<li><a href="#index">HOME</a></li>
<li><a href="#classical">CLASSICAL</a></li>
<li><a href="#weddings">WEDDINGS</a></li>
<li><a href="#events">EVENTS</a></li>
<li><a href="#americana">AMERICANA</a></li>
<li><a href="#instruction">INSTRUCTION</a></li>
</ul>
</div>
因为我说它有效,但只有当锚链接类=&#34; cMenu&#34;单击两次。不确定我是否应该使用页面更改或其他不同的东西。我基本上试图编写我添加的效果,这样它们就像在普通的文档就绪环境中一样工作,但允许它们在jquery移动多页模型中运行。
答案 0 :(得分:1)
由于单击的元素是<a>
,因此您应该防止默认行为(在指向#的链接之后),这可能会干扰您的功能。
这样的事情:
function showMobileDrop(event) {
event.preventDefault();
$('.mobileDrop').show("slide", {direction:"up"}, 1000);
}
$(function() {
$('.cMenu').click(showMobileDrop);
});