作成日: 2014-08-24 00:30:47 / last updated at: 2014-08-24 00:33:44
カテゴリ:
JavaScript
WYSIWYGエディタを作るための基本的な仕組みとして、"contenteditable"属性や"designMode"プロパティがある。
- The WHATWG Blog — The Road to HTML 5: contentEditable
- Mozilla におけるリッチテキスト編集 | MDN
- designMode property (document) JavaScript
- contentEditable attribute HTML & XHTML
ヒント:
- 簡易WYSIWYGエディタを作る - Archiva
- リッチテキスト編集 仕様
- Iframe の designMode="on" によるリッチテキストエディット - 技術メモ帳
ここで、"contenteditable"属性を有効にした領域をreadonly扱いにするには、keydownイベントでイベント伝播をストップすればよい。
具体的には、jQueryの場合はkeydownイベントがfalseを返せば良い。
- .keydown() | jQuery API Documentation
- jQueryでキーボード入力をキャンセルする方法
- jQuery: Keypressed and keydown event propagation in IE and Firefox
- Stop keypress event - Stack Overflow
- 各ブラウザのキーコード表[JavaScript]
- jQueryでキーボードのキーコードを調べる方法 | BlackFlag
- javascript events - jquery: keypress, ctrl+c (or some combo like that) - Stack Overflow
- JavaScriptのkeydownとkeypressの違い | TM Life
- Document Object Model (DOM) Level 3 Events Specification
上記を組み合わせたサンプル:
original url: https://www.glamenv-septzen.net/view/1312