4

ポップアップするこれらのダイアログボックスの1つについて話しています:http: //jquerymobile.com/test/docs/pages/page-dialogs.html

(モバイルの短縮URL http://bit.ly/KhCGVD

[ダイアログを開く]をクリックします。そのダイアログボックスで、リンクで「data-ajax = "false"」が使用されていない限り、iOSでコピーできるものはありません。(Androidでは正常に動作します)

'-webkit-user-select:auto!important;'を置く (または「auto」の代わりに「text」)は何もしません。

javascriptを追加する'document.documentElement.style.webkitTouchCallout= "auto";' 何もしません。

コピーがiOSとAndroidで機能するという仮定に基づいて全体を構築したので、この機能を実現するために必死ですが、iOSでは終了するまでテストしませんでした:(。

どんな助けでも大歓迎です、ありがとう。

編集:4.3.5でテスト-4.3.2--iOS5.1--動作しない

4

1 に答える 1

5

私はあなたの質問に簡単な答えを提供することはできません(configやinitに何かを追加するなど)が、現在の解決策で十分であることを願っています。


問題

問題は、このフレームワークのコードに非常に深くあります。まず、jquery.mobile.dialog.jsファイルがあります。このファイルには次の行があります。

    $el.bind( "vclick submit", function( event ) {
               // code
            })

ここでわかるように、バインディングvclick$ el-ダイアログボックスコンテナ全体に追加しています。

それ自体のイベントvclickは、 vmouse.jsのjQuery Mobileによって生成され、そこで掘り下げた後、実際の問題が発生する場所を検出することができました。

    $( this ).bind( realType, dummyMouseHandler );

この行は、一部のブラウザ、つまりOpera Miniでイベントを機能させるために必要です(この行の上のコメント付きテキストで説明されています)。


解決

だから、ここに解決策の1つがあります、ファイルjquery.mobile.vmouse.jsを開いてコメントアウトライン

    $( this ).bind( realType, dummyMouseHandler );

私はそれをiPadでテストしましたが、その小さなパッチの後でコピー機能が利用可能になりました。

于 2012-05-15T09:48:51.250 に答える