2016-12-01 14 views
0

を削除され、内側の要素を防ぐ:私は「Some content」を削除する場合のcontentEditable:私は簡単なのcontentEditableマークアップを持って

<div class="example" contenteditable="true"> 
    <div class="inside">Some content</div> 
</div> 

、その後、class="inside" div要素も削除されます。コンテンツが削除されたときに内部divが削除されないようにする方法はありますか?

たとえば、コンテンツが削除されると、これは私が作成しようとしている外観です。

<div class="example" contenteditable="true"> 
    <div class="inside"></div> <!-- The div is not deleted --> 
</div> 

私は周りを見回しましたが、明確な答えがないようです。

ご協力いただければ幸いです。

ありがとうございます。

+0

https://jsfiddle.net/rzm156px/それは削除されません。 –

+0

うん、それは変だ。 Chromeでは、 'contenteditable' attrでトップdivを除いてすべてが削除されます。 –

+0

いいえ、あなたのCSSのコードを破っています。 –

答えて

1

.inside, .example { 
 
    display: inline; 
 
}
<div class="example" contenteditable="true"> 
 
    <div class="inside">Some content</div> 
 
</div>

たぶんインラインレベル要素であるスタイルがあります。

コンテンツを削除すると、幅は0%になるので、もう一度クリックしたり、コンテンツを追加することはできません。

だから、私の解決策は、あなたがしたい場合は、幅を指定することができます

.inside, .example { 
    display: block; 
} 

になります。 :)

.inside, .example { 
 
    display: block; 
 
}
<div class="example" contenteditable="true"> 
 
    <div class="inside">Some content</div> 
 
</div>

+0

要素を(クロムで)調べると、内部divはどちらの場合も削除されます。 –

+0

@steveKimええ。今、私はあなたの質問を理解しています。申し訳ありませんが、テキストボックスを使用したくない特別な理由はありますか? –

+0

ありがとうございました。私はtextareaを使うことを考えましたが、入力フィールドの中にいくつかのhtmlマークアップを入れて、textareaはhtml要素を内部に持つ必要があります。 (入力データのより良い制御のため)。 –

関連する問題