2

テキストエリア内に無効/編集不可のテキストを作成しようとしています。ここで最初の部分を編集できないようにするトリックを見つけまし た テキストエリアの最初の単語をロックするには? しかし、私の問題はそれをテキストの最後にすることです。しかし、それはテキストエリアの「html タグ」ではないかもしれませんが、そのように見え、編集可能でなければなりません。

私は多くのことを調査して読みましたが、他の人はそれを外に書いて、このテキストが追加されると伝えてください. しかし、ええ。それは私も最初のアイデアでした。

これを行うのに簡単なjQueryプラグインまたは何かがありますか?

乾杯!

最初のコメントの後に編集:

テキストエリアがおそらくそれを切り取らないように、編集不可能なテキストを別の色にする必要があることを忘れていました。

4

3 に答える 3

2

HTML5contenteditable属性を使用すると、そのようなことが実現できます。

<div contenteditable>test <span contenteditable="false">asdf</span> asdf</div>​

編集できない部分のテキストは編集できますが、その範囲のテキストは編集できません。ただし、バックスペース キーまたは選択/削除によって削除することはできます。

于 2012-07-13T05:40:24.697 に答える
1

http://jsfiddle.net/index/tX44C/2/のように機能するものがあり、すでに contenteditable 属性を利用してこれに取り組んでいます。replaceWithしかし、特に Safari では、トリガーがフォーカスを失ったときにまだいくつかの欠陥があります。また、IE ブラウザーでテストすることはできません。「CSS コンテンツ」に問題がある IE もあると思います。

もっと良いものはありますか?

編集: 上に投稿したリンクにいくつかの変更を加えました(リンクも編集しました)。今のところ非常にうまく機能しているようです。私はそれに非常に満足しているので、他の解決策が提示されない限り、今はこれを使用します.

明確化: フィドルのコードにはリミッターも含まれており、他のいくつかの入力ボックスにより、contenteditable の内容が表示されていました。しかし、テキストを最後に配置するために、CSS:aftercontent属性を使用し、いくつかの操作を使用して入力中に br を削除し、テキストをその側に保持しました。

乾杯!

于 2012-07-13T05:39:13.197 に答える
0

これでは不十分かもしれないと感じていますが、ユーザーが生成した電子メールの署名が修正された場合に使用しました。それは単なるCSSのトリックです。

jsfiddleを参照してください

于 2012-07-13T06:10:03.047 に答える