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 コンポーネントはタイムラインのスライド年タブ切り替え効果を実現します

推薦する

VMware Workstation 14 Pro のインストールとアクティベーションのグラフィック チュートリアル

この記事では、VMware Workstation 14 Proのインストールとアクティベーションに...

Docker コマンドラインの完全ガイド (知っておくべき 18 のこと)

序文Docker イメージは Dockerfile といくつかの必要な依存関係で構成され、Docke...

Vue3 の使用 (パート 1) Vue CLI プロジェクトの作成

目次1. 公式ドキュメント2. Vue CLIプロジェクトを作成する1. Vue CLIをインストー...

JSインターセプト文字列の3つの方法の詳細な説明

JS には、文字列をインターセプトするための 3 つのメソッド、 slice() 、 substri...

jsはキャンバスに基づいて時計コンポーネントを実装します

圧縮アップロード画像、スクラッチカード、ポスター作成、チャートプラグインなど、フロントエンド開発にお...

Dockerfile を使用して Docker でイメージを構築する方法

イメージを構築するこれまで、テストやデモンストレーションにさまざまなイメージを使用しました。多くの場...

MySQLインデックス最適化分析に関する簡単な説明

記述した SQL クエリが遅いのはなぜですか?作成したインデックスが頻繁に失敗するのはなぜですか?こ...

Linuxはiftopを使用してネットワークカードのトラフィックをリアルタイムで監視します

Linux は iftop を使用してネットワーク カードのトラフィックをリアルタイムで監視します。...

mysql バックアップ スクリプトを作成し、7 日間保存します。

スクリプトの要件: MySQL データベースを毎日バックアップし、スクリプトを 7 日間保存します。...

Vue カスタム箇条書きボックス効果 (確認ボックス、プロンプトボックス)

この記事の例では、参考のためにVueカスタムポップアップ効果の具体的なコードを共有しています。具体的...

MySQL複合インデックスの概要

目次1. 背景2. 複合インデックスを理解する3. 左端一致原則4. フィールド順序の影響5. 単一...

Vueはタブ切り替えの虫眼鏡効果を実装します

この記事では、タブ切り替えの虫眼鏡効果を実現するためのVueの具体的なコードを例として紹介します。具...

Dockerイメージ構築原理の分析(Dockerをインストールしなくてもイメージを構築できる)

イメージの構築は、DevOps プロセスにおいて非常に重要なプロセスです。一般的に、イメージの構築と...

HTMLテーブルで、各セルに異なる色と幅を設定します

設定が有効にならない場合が多いため、幅や高さなどをテーブル内で直接設定しないことをお勧めします。スタ...

マークアップ言語 -

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...