ボタンが多いjquery mobileで専用の電卓アプリを作成しています。
私の問題は、ユーザーがボタンを処理できるよりも速くタップすると、タップがキューに入れられて、次にボタンがタップされたときにダブルタップとして表示されることがあります。ユーザーがボタン「1」、「2」、「3」、「4」を押すと、「1234」が別の要素に表示されます。代わりに「134」が表示される場合があります。もう一度「2」をタップすると、「13422」と表示されます。その間、他のキーをいくつでもタップでき、それぞれが処理されますが、次に「2」を押すと、タップ イベントが 2 回発生します。
すべてのボタン タップをキャプチャし、data-tag 属性に基づいて処理します。
$('button').tap(function (event) {
var tag = $(this).attr("data-tag")
switch (tag){
case "1":
\\ do stuff
break;
case "2":
//do stuff
break;
case "3":
//do stuff
break;
}
});
処理中にボタンを無効にして、後でこのように再度有効にしようとしましたが、
$('button').tap(function (event) {
$(this).prop('disabled', true).button('refresh');
// process the taps
$(this).prop('disabled', false).button('refresh');
});
しかし、これは問題を解決しません。
この奇妙な 2 回目のタップのトリガーなしで、キューに入れられたすべてのイベントを処理するにはどうすればよいですか?