2012-05-04 5 views
4

を使用した場合jQueryMobileダイアログ上で「コピー」ボタンを起動していないiOS版のテキストに押しは私がポップアップこれらのダイアログボックスのいずれかについて話していますAJAX

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

'-webkit-user-select:auto!important; (または 'auto'ではなく 'text')は何もしません。

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

私はiOSの中だけでなく、アンドロイド、それに働くだろうコピー前提の周り全体の事を築いてきたように、この作品を作るために必死だが、それが終わるまでのiOSにテストしていない:(。

任意の助けをいただければ幸いです、おかげで

編集:4.3.5でテスト - 4.3.2 - iOSの5.1 - 動作していない

答えて

5

私は単純な答えを提供することはできません怖いですあなたの質問(configやinitで何かを追加するようなものですが)でも、現在の解決策で十分でしょう。


問題

問題は、このフレームワークのコードではかなり深い位置しています。まず第一に、私たちはラインを持っているjquery.mobile.dialog.jsファイルを持っている:

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

あなたは私たちがに結合のVclickを追加している、ここで見ることができるように$エル - ダイアログボックスコンテナ全体。それ自身の上

イベントのVclickvmouse.jsにjQueryのモバイルによって生成され、そこに掘り後、私は実際に問題が発生した場所を検出するために、管理されている:

この行は、イベントの作業を行う必要がある
$(this).bind(realType, dummyMouseHandler); 

いくつかのブラウザ、つまりOpera Mini(この行の上の注釈付きテキストに記載されています)。


ソリューション

だから、ここで私はiPadでそれをテストしてみた解決策の一つ、開いているファイルjquery.mobile.vmouse.jsで、ライン

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

をコメントアウトし、コピー機能は、その小さなパッチの後に利用可能です。

+0

うわー、どうやってそれを掘ったのか分かりません!あなたの助けのために素晴らしいと感謝のトン:)魅力のように働いた! Brill – alexbooots