HTML タグのコンテンツを編集するには、contenteditable 属性を設定します (textarea を置き換えることができます)

HTML タグのコンテンツを編集するには、contenteditable 属性を設定します (textarea を置き換えることができます)


コードをコピー
コードは次のとおりです。

<div contenteditable="true">コンテンツを編集できます</div>

BODY に contenteditable="true" を追加すると、この属性がいかに魔法の力を持つかがわかります。したがって、タグを編集するには、HTML タグに contenteditable="true" 属性を設定できます。

contenteditable 属性はすべてのブラウザと互換性があります (IE6 より前のバージョンとの互換性はテストされていません)。

場合によっては、input や textarea の代わりに DIV を使用して同じ効果を得ることができます。たとえば、ajax を使用する場合、フォームを送信するときに DIV のコンテンツを取得できます。

注意深い人なら、QQ スペースにコメントを投稿するためのテキスト ボックスは、実際にはテキスト エリア テキスト ボックスではなく、DIV であることに気付くでしょう。

Div+CSS は、HTML5 標準の contenteditable 属性を実現するために、textarea テキスト フィールドの高さの適応をどのようにシミュレートしますか。

この効果は主に、HTML5 の contenteditable 属性をタグに追加することで実現されます (contenteditable: は、ユーザーがコンテンツを編集できるかどうかを指定します)。素晴らしいことに、この属性は IE でもサポートされるため、互換性の問題をあまり心配する必要はありません。
デモ:


コードをコピー
コードは次のとおりです。

<スタイル タイプ="text/css">
.demoEdit{border:1px solid #dddddd;width:450px;min- height:20px;_height:20px;outline:0px;padding:2px;} // outline:0px;スタイル ソリューション: コンテナーがフォーカスを取得すると、コンテナーは FF ブラウザーで点線フレームの効果を表示します。
.demoEdit p{margin:0px;padding:0px;}
</スタイル>
<div contenteditable="true" style="border:1px solid #dddddd;width:360px;min-height:20px;_height:20px;outline:0px;"></div>
<div コンテンツ編集可能="true" クラス="demoEdit"></div>

添付ファイル:
FF ブラウザでは、コンテナにフォーカスが当たったときに、カーソルの高さがコンテナの高さと同じになったり、カーソルが表示されなかったりします。このとき、コンテナにデフォルトで <br/> や &nbsp; などのプレースホルダーを追加すると、この問題が解決します。

ここで、Yuzi は、js コードを追加せずに高さを編集して自動的に適応できる別の優れた方法を紹介します。皆さん、目を覚ましてください。Yuzi は DIV をテキスト ボックスとして直接使用できます。これは TextArea テキスト ボックスに似ています。さらに重要なのは、DIV のユーザー エクスペリエンスがより完璧でクールであることです。

Html の contentEditable 属性を使用すると、特定の要素の編集可能状態をオンにすることができます。おそらく、contentEditable 属性を使用したことがないか、聞いたこともないかもしれませんが、contentEditable の役割は非常に魔法のようなものです。 div または Web ページ全体、さらに span やその他の要素を書き込み可能にすることができます。最もよく使用されるテキスト入力要素は input と textarea です。contentEditable 属性を使用すると、div、table、p、span、body などの多くの要素にコンテンツを入力できます。特に、contentEditable は HTML5 標準で効果的にサポートされています。ぜひ来て目撃してください。

contentEditable="true" 属性を設定すると、かなり魔法のようになりませんか?ハハハ…

デモページ: http://demo.jb51.net/js/2014/ContentEditable/

特殊効果をつけてみましょう。div要素編集を開いて、画像を挿入できますか?これにはjsを使用する必要があります。


コードをコピー
コードは次のとおりです。

<スクリプト>
関数img(){
var location1 = prompt("画像のアドレスを入力してください:","http://");
if(場所1){
場所1を選択します。
}
}
関数 selImg(s){
if(!s){return false;}
var h = s.substr(s.lastIndexOf(".")+1,3);
if(h=="gif"||h=="jpg" || h=="GIF" || h=="JPG"){
編集 = document.getElementById("idEdit")
編集.innerHTML+='<img src='+s+'>'
}
それ以外{
}
}
</スクリプト>
<div NAME=EditCtrl id=idEdit contentEditable=true style="width:100%;height:200px;border:1px solid #666666"> <b>Yuzi.me</b></div>
<input type="button" name="送信" value="画像を挿入" onclick="img()">

素晴らしい! より多くのエフェクトを使用したい場合は、自分で js コードを記述する必要があります。すべての攻城戦ヒーローがベストを尽くし、共有できることを楽しみにしています!

<<:  CSS background-blend-modeの仕組みを深く理解する

>>:  jQuery+swiper コンポーネントはタイムラインのスライド年タブ切り替え効果を実現します

推薦する

デジタル時計効果を実現するJavaScript

この記事の例では、JavaScriptでデジタル時計効果を実装するための具体的なコードを参考までに共...

Vueオプションの詳細な説明

目次1. オプションとは何ですか? 2. 含まれる属性3. エントリー属性エルデータ方法コンポーネン...

MySQL カーソルの概念と使用法の詳細な説明

この記事では、例を使用して MySQL カーソルの概念と使用方法を説明します。ご参考までに、詳細は以...

Vue でルーティング遷移効果を実装する 4 つの方法

Vue ルーター トランジションは、Vue プログラムにパーソナライズされたエフェクトをすばやく簡単...

Apache での ModSecurity のインストール、有効化、および構成

ModSecurity は、Web サーバーに入るすべてのパケットをチェックする強力なパケット フィ...

Linux で JDK をインストールして環境変数を設定する方法 (この記事で十分です)

目次1. Linuxのビット数を確認する2. JDKをダウンロードする3. JDKをインストールする...

nginx と Tencent Cloud の無料証明書を使用して https を作成する方法

httpsを取得する方法を勉強しています。最近、Tencent Cloud が提供する無料の SSL...

Dockerfile テキストファイルの使用例の分析

Dockerfile は、イメージをビルドするために使用されるテキスト ファイルです。テキスト コン...

Vue のライフサイクルとフック関数の詳細な説明と典型的な面接の質問

目次1. Vue ライフサイクル2. フック機能2.1 4つの段階と8つの方法に分かれています。 2...

Vue3.0 における Ref と Reactive の違いの詳細な分析

目次参照と反応参照反応的RefとReactiveの違いshallowRef と shallowRea...

コンパイル、インストールから設定ファイルの説明まで、中国語でnginxの詳細な説明

この記事では、コンパイルとインストールから設定ファイルの説明まで、Nginx について詳しく紹介しま...

VueはElementUIのフォームサンプルコードを模倣する

実装要件ElementUI を模倣したフォームは、インデックス コンポーネント、Form フォーム ...

Vue ページ状態の永続化の詳細な説明

目次コード:補充:要約する要件: 左のツリーと右のテーブル。組織ツリーでノードを選択した後、詳細ペー...

Dockerイメージ解析ツールのダイブ原理解析

今日は、Docker イメージ、各レイヤーの内容を調べ、Docker/OCI イメージのサイズを縮小...

Windows での MySQL の使用: 自動スケジュールバックアップの実装

1. バックアップスクリプトを書く 著者:www.yumi-info.com 日付:20171222...