すべてのWebエディターは非常にシンプルに動作し、ブラウザー機能を中継します。
要素に属性を設定し 、ページの読み込み後にcontenteditable="true"
:を呼び出すことで、HTMLページの任意のフィールドを編集可能にすることができます。$('#edit').designMode = "on";
選択したフォントは次のように変更できます
document.execCommand("fontname", false, "Courier New");
とのサイズ
document.execCommand("fontsize", false, "20");
との色
document.execCommand("ForeColor", false, "green");
太字、斜体:
document.execCommand("bold", false);
document.execCommand("italic", false);
これが私が作成したサンプルテストページです(他のブラウザではボタンをクリックするとテキストの選択が失われるため、残念ながらFFでのみ機能します)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset=utf-8>
<title>HTML5 Demo: ContentEditable</title>
<script src="jquery.js"></script>
</head>
<body onLoad="onload()">
<h2>Go ahead, edit away!</h2>
<div id="editarea"></div>
<!-- 'contenteditable="true"' need so the user can select the element and edit it's text-->
<section contenteditable="true">
<p>
Here's a typical paragraph element
</p>
<div contenteditable="true">
<p>
hallo welt
</p>
</div>
<ol>
<li>
and now a list
</li>
</ol>
</section>
</body>
<script>
function onload() {
// needed for the resize boxes in IE
document.designMode = "on"
$('#editarea').append($('<button>').html("fontname").click(function() {
document.execCommand("fontname", false, "Courier New");
}));
$('#editarea').append($('<button>').html("fontsize").click(function() {
document.execCommand("fontsize", false, "20");
}));
$('#editarea').append($('<button>').html("changeSize").click(function() {
document.execCommand("ForeColor", false, "green");
}));
$('#editarea').append($('<button>').html("bold").click(function() {
document.execCommand("bold", false);
}));
$('#editarea').append($('<button>').html("italic").click(function() {
document.execCommand("italic", false);
}));
}
</script>
</html>
PSさらに必要な場合は、Alohaエディターを参照してください。