🕒 2014/11/04
🔄 2023/04/22
[ jQuery ] ライブプレビュー付のHTMLエディタを5行で作る
jQueryを使って、ブラウザ上で動く、ライブプレビュー付の超超シンプルなHTMLエディタを作りたいと思います。エディタはtextareaでいいとして、そのプレビューは、textareaの内容をそのままdivなどの要素に反映すればOK。これをライブでやるには、textareaのkeyupのたびに要素反映すればできます。なので、次のように5行で書くことができます。
$(function(){
$('textarea').keyup(function(){
$('div').html( $('textarea').val() );
});
});
htmlは、これだけ。これだけで動きます。
<textarea></textarea>
<div></div>
個人的に、全画面で表示したかったので、全体では次のようにしました。
<!DOCTYPE html>
<html>
<head>
<title>Super Simple HTML Editor</title>
<meta charset="UTF-8">
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<style>
html, body{
margin: 0;
padding: 0;
}
html, body, textarea, div {
height: 100%;
font-family: 'メイリオ', Meiryo, 'MS Pゴシック', sans-serif;
}
textarea, div {
overflow-y: scroll;
resize: none;
float: left;
box-sizing: border-box;
width: 50%;
line-height: 1.75em;
letter-spacing: 1px;
word-wrap: break-word;
padding: 20px;
}
</style>
</head>
<body>
<textarea></textarea>
<div></div>
<script>
$(function(){
$('textarea').keyup(function(){
$('div').html( $('textarea').val() );
});
});
</script>
</body>
</html>