6

iOS デバイスでハイライト可能およびコピーtextarea可能するにはどうすればよいですか?input type="text"

これは動作しません:

<textarea readonly="readonly">Totally readonly, cannot be copied</textarea>

どちらもしません:

<textarea disabled="disabled">Totally readonly, cannot be copied</textarea>

編集: テキスト領域は常に更新されているため、1 回限りの変換は機能しません。

テキストエリアのコンテンツは HTML にすることもできます。

私はこれをテストした JSFiddle を持っています: http://jsfiddle.net/sebnilsson/jfvWZ/

4

3 に答える 3

6

1 つの解決策は、ページ上のすべての読み取り専用テキストエリアを見つけて、読み取り専用フィールドの代わりにコンテンツを含む div をレンダリングすることです。これを実証するために、いくつかの非常に単純な JS を作成しました。

の線に沿った何か

$('textarea[readonly]').removeAttr('readonly').each(function () {
    var $this = $(this);
    $this.hide().after('<div data-textarea="' + $this.attr('id')
        + '" class="textarea">' + $this.val() + '</div>');
}).on('textareachange', function () {
    var $this = $(this);
    $('[data-textarea="' + $this.attr('id') + '"]').html($this.val());
});

また、テキストエリアの値を更新するときにイベントをトリガーする必要があります。例えば

$('textarea').val('test').trigger('textareachange'); 

スタイリングなどの例を含む、より広範な例がここにあります。

http://jsfiddle.net/ssfUx/3/

于 2013-03-20T08:38:31.420 に答える
0

iPhone でいくつかのテキストを選択することに成功しましたが、多くの試行が必要です。

<textarea readonly onfocus="this.blur();">Totally readonly, CAN BE copied</textarea>

そして最後: http://jsfiddle.net/jfvWZ/6/

<div>
    <label>Plain div</label><br />
    <div id="plain-div" onFocus="this.blur();">
        Plain div
    </div>
</div>

iPhoneでテキストを簡単に選択

于 2013-03-20T12:55:36.137 に答える