18

iPhoneユーザーがモバイルサファリのクリップボードにテキストを簡単にコピーできるようにしようとしています。通常の「タッチホールドコピー」のように。ユーザーにコピーしてもらいたい特定のテキストがあります。テキストをラップする html マークアップを自由に選択できます。恣意的ではなく、どうすれば簡単にできますか?例えば:

  • javascriptを使用してタッチダウン時にテキストを「すべて選択」する方法はありますか? 次に、ユーザーはタッチホールドを続けてからコピーを選択できますか?

  • 「すべて選択」オプションを表示する方法はありますか? テキストボックスに入力するときのように?その後、彼らはコピーを選択できますか?

  • JavaScript ソリューションがない場合、Safari が適切なテキストを簡単に選択できるように html を配置するにはどうすればよいですか? 単なる単語やラッピング div とは対照的ですか?

さまざまな要素に対して onFocus="this.select()" を試しましたが、どれも機能していないようです。onClickも試しました。

ZeroClipboard を使用するサイトを iPhone に移植しようとした人には、いくつかのアイデアがあるかもしれません。

乾杯

4

4 に答える 4

9

代わりにthis.select();、次を使用しましたが、うまくいきました!

this.selectionStart=0;
this.selectionEnd=this.value.length;
于 2011-06-21T20:16:37.243 に答える
7

私にとっての魔法のソースは、次の 3 つの組み合わせでした。

onFocus="this.selectionStart=0; this.selectionEnd=this.value.length;" <!-- for big screens -->

onTouchEnd="this.selectionStart=0; this.selectionEnd=this.value.length;" <!-- for small screens -->

onMouseUp="return false" <!-- to stop the jitters -->
于 2012-09-23T14:55:54.550 に答える
4

onfocus の代わりに ontouchstart を試してください。Onfocus は約 1 回発火します。ontouchend の 500 ミリ秒後。onclick、onmousedown、onmouseup と同じ。マウス イベントの詳細については、https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW7を参照してください。

于 2010-02-11T21:14:28.040 に答える
2

私は同じ問題に遭遇しました。onfocus イベントは、トラップするのに適したイベントです (iPhone キーボードの [次へ]/[前へ] ボタンを使用すると、ontouchstart はトリガーされません)。onfocus="" ハンドラーで、アラート ボックスがポップアップ表示されます。問題は this.select(); です。私はまだこれに対する答えを見つけていませんが、もし見つけたら、ここに投稿します.

于 2010-04-21T17:22:30.363 に答える