6

下の画像に示すように、ユーザーがログアウトポップアップを取得する iPad 用の PhoneGap-iOS アプリケーションがあります。

ログアウトポップアップ

ユーザーが本文をクリックすると、このポップアップが非表示になります。codeネイティブブラウザで動作する私のものが動作しませんiPad Simulator

$("body").ClickOrTouch(function (evt) {
    if (!(evt.target.id == "launchUsername") {
        $('#launchLogout').hide();
    }
});
4

4 に答える 4

3

iPhone では、iPad デバイスのクリック イベントはアンカー タグでのみ機能し、span タグや div タグでは機能しないため、これを試してみてください。

$("body").on('click touchend', function (evt) {
  if (!(evt.target.id == "launchUsername") {
    $('#launchLogout').hide();
  }
});
于 2013-08-23T05:20:44.253 に答える
2

おそらくevent.touches[0].targetモバイルサファリでそれを行うことができます(マルチタッチイベントを指で1つずつ管理するために touches 配列を持っています)。このトピックで説明したように:モバイル Safari - タッチ イベントの event.target

しかし、 jquery-ui-touch-punchを試してみる価値があると思います。

これは、モバイル Web アプリ (cordova/phonegap など) で jquery を使用してタッチ イベントを管理するために使用するものです。

非常に簡単です。このライブラリを追加するだけで、touh イベントがマウス イベントのように動作します。

(タッチダウン/アップ => マウスダウン/アップ、シングルプレス => クリックなど...)

于 2013-05-15T08:29:27.047 に答える
2
$("body").on('touchend', function (evt) {
    if (!(evt.target.id == "launchUsername") {
        $('#launchLogout').hide();
    }else{
evt.stopPropagation();

}


});
于 2013-08-17T06:51:51.600 に答える
1

別のイベントをもう試しましたか?そのようなものでしょうか?

$("body").on('touchend', function (evt) {
    if (!(evt.target.id == "launchUsername") {
        $('#launchLogout').hide();
    }
});
于 2013-08-16T22:07:07.350 に答える