リアルタイムプレビュー付きのHTMLエディタを作ろう - jQuery入門
目次
- jQuery入門
- jQueryのインストール・簡単な使い方
- クイズゲームの作り方
- 秘密の暗号を作ってみよう(たぬき暗号)
- アクションゲームを作ってみよう(ぬりかべ)
- 画像を使ったジグソーパズルを作ってみよう
- もぐらたたきっぽいゲーム
- ドラッグ可能なポップアップウインドウを作ろう
- jQuery UI Sortableで1ラインオセロゲーム
- ブラウザ全体をブロックしてみる
- Geolocation APIを使って都道府県のセレクトボックスを現在地に近い順にソートする
- 発生したイベントの状態を保持・保存する6つのパターン
- Ajaxを利用したシンプルなイメージギャラリーを作ってみる
- テーブルにページ送り(ページング)を実装してみる
- jQuery UI Draggableを使って付箋(sticky)を作ってみる
- カラムでソートできるテーブルを自作してみる
- テーブルを使ったシンプルなドット絵エディタを作ってみる
- iPhoneのようにマウスではじいてスクロール(フリックスクロール)を実装してみる
- テキストフィールドの数値をマウスの上下移動で増減する
- iPhoneのように大きい画像の表示領域をマウスのドラッグで移動してみる
- iPhoneのように画像をダブルクリックした地点を中心に拡大縮小する
- リアルタイムプレビュー付きのHTMLエディタを作ろう
- 保存できる付箋を作ってみる(Cookie、localStorage)
HTMLエディタ
※今回はほとんど一発ネタです。仕事で「リアルタイムで結果を確認できるHTMLエディタを作ってくれ」という要件があり、途方に暮れました。TinyMCEかCKeditorを導入しようかとも考えたのですが、よく考えたらリアルタイムプレビューだけならJavaScript数行で実装できるじゃん、と思い自分で作ることにしました。
ダウンロード
セキュリティ的にまずい気がするのでzipです。ローカルで実行してください。htmleditor.zip
HTMLエディタのソース
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<title>リアルタイムプレビュー付きのHTMLエディタ</title>
<script>
$(function() {
$('body').keyup(function() {
$('#preview').html($('#src').val());
});
});
</script>
</head>
<body>
<p>以下にHTMLを書くとタグを含めて即座に反映されます。</p>
<textarea id="src" rows="10" cols="80">
<img src="santa.gif">サンタさん
</textarea>
<hr>
<div id="preview"></div>
</body>
</html>