簡體   English   中英

JQuery“tap”事件發生兩次

[英]JQuery “tap” event fires twice

我對JQuery移動“tap”事件有一個真正的問題。 它發射兩次,我似乎無法阻止它。

問題是,我有一個頁面index.html當你點擊按鈕時,你轉到page2.html。 問題是當你進行快速瀏覽時,你將轉移到page2.html,然后它將再次點擊該頁面,這會導致嚴重的問題。 無論如何我能解決這個問題嗎? 我試過返回false; 但它不起作用。 這是我使用的代碼:

$("#read").on('tap',function()
{
    $.mobile.changePage('pages/reader/reader.html');
    return false;
});

更新:在進行大量測試之后,它似乎不是被觸發兩次的事件。 看起來額外的點擊是SOMETIMES跟隨到另一頁,所以下一頁上的其他按鈕被點擊。 這是一個嚴重的問題,我不能像這樣發布它。

任何人都有想法為什么JQuery mobile會以這種糟糕的方式表現?

我沒有很多jquerymobile的經驗,但這可能是eventPropagation的原因,停止事件傳播到它的父親可能會有所幫助。

嘗試這個:

$("#read").on('tap',function(e)
{
    $.mobile.changePage('pages/reader/reader.html');
    e.stopPropagation();
    return false;
});

嘗試:

$("#read").on('tap',function()
{
    var $this = $(this);

    if (!$this.hasClass("tapped")) {
        $this.addClass("tapped");
        $.mobile.changePage('pages/reader/reader.html');
    }
});

如果您需要重新啟用該按鈕,只需刪除Class(“tapped”),就像您可能知道的那樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM