3

JQueryモバイルの「タップ」イベントに実際の問題があります。それは2回発火し、私はそれを止めることができないようです。

問題は、ボタンをタップするとpage2.htmlに移動する1ページのindex.htmlがあることです。問題は、クイックタップを実行すると、page2.htmlに移動してから、そのページを再度タップするため、重大な問題が発生することです。とにかくこれを修正できますか?falseを返そうとしました。しかし、それは機能しません。これが私が使用するコードです:

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

更新:ALOTのテストを行った後、2回発生するイベントではないようです。余分なタップが他のページに続くことがあるように見えるので、次のページにある他のボタンがタップされます。これは深刻な問題であり、このようにリリースすることはできません。

JQuery mobileがこの厄介な方法で動作する理由を誰かが知っていますか?

4

2 に答える 2

1

私はjquerymobileの経験はあまりありませんが、これはeventPropagationの原因である可能性が非常に高く、イベントが親に伝播するのを止めるのに役立つかもしれません.

これを試して:

$("#read").on('tap',function(e)
{
    $.mobile.changePage('pages/reader/reader.html');
    e.stopPropagation();
    return false;
});
于 2012-08-21T13:54:34.620 に答える
0

試す:

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

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

そして、そのボタンを再度有効にする必要がある場合は、ご存じのとおり、removeClass("tapped") を実行するだけです。

于 2012-08-21T13:47:30.113 に答える