15

どのイベントを使用して聞く必要がありますか?なぜvclickを使用するのですか?どの状況でどの状況を使用すればよいかわかりません。

4

3 に答える 3

43

jQuery Mobile Tapの場合、モバイルデバイスでのみ機能していました。これはもう当てはまりません。

VClickは、デスクトップ/モバイルデバイス間のクリック/タップの非互換性の間のギャップを埋めるために作成されました。

今ではタップを自由に使うことができますが、問題はほとんどありません。タップはiOSプラットフォームで失敗します。代わりにタッチスタートを使用する必要があります。

例:

VClick

デスクトップデバイスとモバイルデバイスの両方で動作します。

  • Android4.1.1-遅延なし
  • iOS-遅延なし
  • デスクトップFirefox19およびChrome25.0.1364.152-遅延なし

http://jsfiddle.net/Gajotres/PYPXu/embedded/result/

$(document).on('pagebeforeshow', '#index', function(){       
    $( document ).on( "vclick", '[data-role="page"]', function() {
        $( this ).append( "<span style='color:#00F;'>vmouseup fired.</span>" );
    });
});

タップ:

タップ

以前はモバイルデバイスでのみ機能していましたが、現在はデスクトップブラウザでも機能しますが、jQueryMobileバージョン1.1以下のiOSでは失敗します。

  • Android4.1.1-遅延なし
  • iOS-遅延なし
  • デスクトップFirefox19およびChrome25.0.1364.152-遅延なし

http://jsfiddle.net/Gajotres/k8kSA/

$(document).on('pagebeforeshow', '#index', function(){       
    $( document ).on( "tap", '[data-role="page"]', function() {
        $( this ).append( "<span style='color:#00F;'>tap fired.</span>" );
    });
});

クリック

モバイルデバイスとデスクトップブラウザで動作します。

  • Android 4.1.1-目に見える遅延(300ミリ秒以上)
  • iOS-遅延なし
  • デスクトップFirefox19およびChrome25.0.1364.152-遅延なし

http://jsfiddle.net/Gajotres/L2FHp/

$(document).on('pagebeforeshow', '#index', function(){       
    $( document ).on( "click", '[data-role="page"]', function() {
        $( this ).append( "<span style='color:#00F;'>click fired.</span>" );
    });
});

結論

VClickとの後方jQM互換性スティックが必要な場合は、それ以外の場合はTapを使用します。

于 2013-03-07T15:32:11.980 に答える
2

vclick(仮想化クリック)は、onclickイベントをシミュレートします。

http://api.jquerymobile.com/vclick/

タップイベントは、すばやく完全なタッチイベントの単一のターゲットオブジェクトの後にトリガーされます。

http://api.jquerymobile.com/tap/

それはあなたが何をしているかにもよるが、あなたがそうしない特別な理由がない限り(例えば、同じjsでデスクトップとモバイルをサポートする)、私はタップを使うだろう。

詳細はこちらhttps://coderwall.com/p/bdxjzg

于 2013-03-07T15:27:34.643 に答える
2

「tap」と「vclick」の大きな違いに気づきました。ボタンにタブで移動してEnterキーを押すと「vclick」が起動します-「tap」は起動しません。

于 2014-05-13T07:39:46.133 に答える