jquerymobile tap事件被觸發兩次。


//隱藏page header
    $("#yx_article_cnt").tap(function () {
        console.log("i am tap ...");
        var heightVal = $("#articleHeader").css("height");
        if (heightVal == "0px") {
            $("#articleHeader").show();
            $("#articleHeader").animate({ height: "42px" }, 300, function () { });
        } else {
            $("#articleHeader").animate({ height: "0px" }, 300, function () { $("#articleHeader").hide(); });
        }

       // return false;
    })

  今天在做個tap事件隱藏head的時候,問題出來了,老是被觸發兩次,奶奶的怎么搞的都搞不好。

網上找了資料還真有

http://segmentfault.com/q/1010000000135980

--------------------------------------------------------------------------------------

然后,我說說思路,這個問題真的很奇葩,一般人還真不知道為什么會這樣。但是我在調試的時候發現,你的js居然加載了兩遍!

屏幕快照-2012-11-07-上午12.44.29.png

這就是為什么它會執行兩次,因為pageinit被調用了兩遍。但是為什么js會加載兩次呢?你看看最后的頁面結構

--------------------------------------------------------------------------------------------

這里面是這么說被加載了兩次,可是我的沒有被加載兩次啊。加了alert調試 真沒有。

找不到原因,猜會不會是冒泡的原因啊,加了個直接用最徹底的return false試了下,竟然可以了。

奶奶的,忙死了,具體原因不找了,反正肯定就是被冒泡了。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM