2011-10-08 14 views
6

contenteditable divのコンテンツを強制的にdivまたはpに囲む方法を知っていますか? contenteditableの内容が空のdivの場合、範囲を指定してdivを選択するとFirefoxなどで動作しますが、chromeの場合はdivの前にテキストが挿入されます。私は決して新しいのではなく、< BR/>タグを取得しないことを確認するために、これは空のcontentEditableのために何とか可能であるならば、これはまた、手動で改行を挿入するために使用することができているテキストここコンテンツ編集可能なコンテンツをdivまたはpの中に入れる

HTML: 
<div id="edit" contenteditable="true"><div id="insert"></div></div> 

Tried this but the results are very inconsistent cross browser: 

var range = document.createRange(); 
range.selectNodeContents(document.getElementById('insert')); 

var selection = window.getSelection(); 
selection.removeAllRanges(); 
selection.addRange(range); 

2番目の質問を必要としますdivまたはp?

おかげ

更新

それはある程度で、次の作品を思わ:

<div id="edit" contenteditable="true"><div id="insert"><br/></div></div> 

追加< BR/> Firefoxの、クロム、Safariのすべてが単一の空行を生成してすべての入力はdiv内で終わりますが、Internet Explorer(テストされたバージョン9)は2つの空行を示しています。利用可能な他のソリューションがない場合 - どのようにブラウザの検出を使用せずにこれを修正するためのアイデア?

+0

私はFirefoxでまだバグのバグを修正するためにこれについての答えを一ヶ月以上探してきました。 Thx u thx u thx u。 –

答えて

0

あなたのCSSファイルでbrタグを上書きできます。

br { 
    display:block; 
    clear: both; 
    height: 1em; 
    line-height: 1em; 
} 

emが動作するかどうかはっきりしていません。そうでない場合は、px形式も試してみる必要があります。

関連する問題