Jquery函数仅在2次单击后运行

时间:2014-10-02 19:41:29

标签: jquery html css jquery-mobile

我有一个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移动多页模型中运行。

1 个答案:

答案 0 :(得分:1)

由于单击的元素是<a>,因此您应该防止默认行为(在指向#的链接之后),这可能会干扰您的功能。

这样的事情:

function showMobileDrop(event) {
    event.preventDefault();
    $('.mobileDrop').show("slide", {direction:"up"}, 1000);
}
$(function() {
    $('.cMenu').click(showMobileDrop);
});