我剛開始編寫自己的富文本編輯器,但需要知道是否可以填充文本區域以及如何保存/使用其中的數據。可以在designMode中填充和保存從iframe中輸入的文本嗎?
我目前使用的ckEditor,但它太笨重,大我想要什麼。
不適是使用此基礎:
我需要運行在數據某些檢查以及檢查其長度。
謝謝。
代碼如果需要的話:
HTML:
<a id="bold" class="font-bold">B</a>
<a id="italic" class="italic">I</a>
<select id="fonts">
<option value="Arial">Arial</option>
<option value="Comic Sans MS">Comic Sans MS</option>
<option value="Courier New">Courier New</option>
<option value="Monotype Corsiva">Monotype</option>
<option value="Tahoma">Tahoma</option>
<option value="Times">Times</option>
</select>
<br/>
<iframe id="textEditor" style="width:500px; height:170px;">
</iframe>
JS:
$(document).ready(function(){
document.getElementById('textEditor').contentWindow. document.designMode="on";
document.getElementById('textEditor').contentWindow. document.close();
$("#bold").click(function(){
if($(this).hasClass("selected"))
{
$(this).removeClass("selected");
}else
{
$(this).addClass("selected");
}
boldIt();
});
$("#italic").click(function(){
if($(this).hasClass("selected"))
{
$(this).removeClass("selected");
}else
{
$(this).addClass("selected");
}ItalicIt();
});
$("#fonts").change(function(){
changeFont($("#fonts").val());
});
});
function boldIt()
{
var edit = document.getElementById("textEditor").contentWindow;
edit.focus();
edit.document.execCommand("bold", false, "");
edit.focus();
}
function ItalicIt()
{
var edit = document.getElementById("textEditor").contentWindow;
edit.focus();
edit.document.execCommand("italic", false, "");
edit.focus();
}
function changeFont(font)
{
var edit = document.getElementById("textEditor").contentWindow;
edit.focus();
edit.document.execCommand("FontName", false, font);
edit.focus();
}
出於好奇...你爲什麼要使用iframe? –
我正在尋找如何製作富文本編輯器,並且遇到了這個問題。是否有可能在正常的文本區域使用execCommand等? – Lovelock
textarea?你可以在DIV上做到這一點! –