WYSIWYGテキストフォーマット機能
/*
* myEditor - iframe element
*/
function doFormat(what) {
var cWin = $('#myEditor', window.parent.document)[0].contentWindow;
cWin.$('body').attr({ 'contentEditable': true, 'designMode': 'On'} );
var what = 'justifyright';
cWin.document.execCommand(what, false, arguments[2]);
cWin.$('body').attr({'contentEditable': 'false'} );
return;
}
HTML:
<span id="obj_123" contenteditable="true">
text<br />
moretext<br />
alot of text <br />
</span>
スパンコンテンツのPART(パーツが選択されている場合のみ)をクリックまたは強調表示し、関数doFormat(任意のジャスティファイ関数を使用)を呼び出した場合
結果は次のとおりです。
<span id="obj_123" contenteditable="true">
text<br />
</span>
<div align="right">
<span id="obj_123" contenteditable="true">
moretext<br />
</span>
</div>
<span id="obj_123" contenteditable="true">
alot of text <br />
</span>
推測される結果:
<span id="obj_123" contenteditable="true">
text<br />
<div align="right">
moretext<br />
</div>
alot of text <br />
</span>
親ノードをコピーし、フォーマットが発生するたびにそれを複製するかのように。
太字/斜体/下線などの他のexecCommand呼び出しは、想定どおりに機能します。
このトピックについての助けをいただければ幸いです。どうもありがとうございます。
編集:フィドルテストケースを追加 http://jsfiddle.net/n7SgJ/