時折見かけることがあるのですが、
掲示板などの投稿画面で、
TEXTAREAのフィールドにWindowsのワードパッド風の編集機能がついているものがあります。
見出し、文字の大きさやリンク、画像挿入やリストが挿入できるようなメニューが、入力エリア上部に付属しているようなものです。
この作成の仕方がよくわりません。
JavaScriptで実現しているのはなんとなくわかるのですが、情報の入手先がわかりません。
参考になるサイトや書籍の情報だけでも構いませんので、どなたかご存知の方がいらっしゃいましたら教えていただけませんでしょうか。
よろしくお願い申し上げます。
No.3ベストアンサー
- 回答日時:
完全にその機能だけ組み込みになりますが、オープンソース等のWEBエディターなら、下記のサイトが参考になると思います。
http://www.geniisoft.com/showcase.nsf/WebEditors
> 何かフリーのJavaScriptライブラリなどをご存知でしたら教えていただけませんでしょうか。
簡単なものなら、js_quicktags.jsがあります。これなら、textareaならどこでも簡単に導入できます。
http://www.alexking.org/index.php?content=softwa …
参考URL:http://www.alexking.org/index.php?content=softwa …
ありがとうございます。
英語が苦手な私にはなんとも難解ですが、
私が欲しかった情報です。
なんとか自力で組み込んでみようと思います。
ありがとうございました。
No.2
- 回答日時:
> 何かフリーのJavaScriptライブラリなどをご存知でしたら教えていただけませんでしょうか。
「javascript html editor」などで検索してみてはいかがでしょうか。
MovableType専用(またはプラグイン)などのように、特定のCMSに特化した物もありますが、
デザインは勿論、BBSやメールフォームへの組み込みも可能なように作られている物などいろいろありますから、
ニーズに合う物を探せると思います。
No.1
- 回答日時:
例えば、こんな感じでボタンを押した時にタグの挿入(選択した部分やカーソル位置に)ができます。
サンプルはボールド<b>とイタリック<i>
----------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<title>サンプル</title>
<script>
<!--
var C_POS=0;
//カーソル位置を記録して置く
function c_pos(el){
var sel=document.selection.createRange();
var r=el.createTextRange();
var all=r.text.length;
r.moveToPoint(sel.offsetLeft,sel.offsetTop);
r.moveEnd("textedit");
C_POS=all-r.text.length;
}
function bold(el){
surround(el, 'b');
}
function italic(el){
surround(el, 'i');
}
function surround(elobj, elKind){
var str=selectionText(elobj);
selectionTextReplace(elobj, "<"+elKind+">" + str + "</"+elKind+">");
}
function selectionText(el){
if(document.all){ //IE
return document.selection.createRange().text;
} else { //Firefox
return el.value.substring(el.selectionStart, el.selectionEnd);
}
}
function selectionTextReplace(el, repStr){
if(document.all){ //IE
if(document.selection.createRange().text!=""){
document.selection.createRange().text = repStr;
} else {
el.value =
el.value.substring(0, C_POS) +
repStr +
el.value.substr(C_POS);
}
} else { //Firefox
el.value =
el.value.substring(0, el.selectionStart) +
repStr +
el.value.substr(el.selectionEnd);
}
}
//-->
</script>
</head>
<body>
<form name="FORM1">
<input type="button" value="Bold" onclick="bold(this.form.text)">
<input type="button" value="Italic" onclick="italic(this.form.text)"><br>
<textarea ID="text" name="text" cols="80" rows="10" onfocus="c_pos(this);" onmouseup="c_pos(this);" onkeyup="c_pos(this);">
test data
テストテキスト
</textarea>
</form>
</body>
</html>
ありがとうございます。
そっくりそのまま実行してみて、確認しました。
ただ、これを応用してリストタグなどを実現しようと思うと大変そうなので、何かフリーのJavaScriptライブラリなどをご存知でしたら教えていただけませんでしょうか。
ご丁寧にお教えくださいましたのに、こちらの説明不足で申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
EJSを仕事でなんとなくで使って...
-
iPhoneで HTMLファイルを閲覧
-
レイアウトが異なる別のワーク...
-
webディベロッパーについて詳し...
-
、URL化させるにはどうしたらい...
-
コードを書いて下さい( ; ; )...
-
HTMLタグのあるCSVファイルを利...
-
静止画画像をクリックすると音...
-
テーブルの行を折りたたみたい...
-
WEBページを強制的に横画面で見...
-
スマホでHTMLファイルを開いて...
-
CSSを教えて下さい webデザイナ...
-
CSSを教えて下さい webデザイナ...
-
CSSでinputのテキストカラーを...
-
2カラム、左メニュー、特定パー...
-
このサイトのカテゴリのチェッ...
-
HTMLについて教えてください。 ...
-
HTML CSSの勉強のポートフォリ...
-
スライダーの枠に動画を収める...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
INPUTタグ disabledの文字色を...
-
TEXTAREAにワードパッド風の簡...
-
タグ初心者
-
Excelマクロ 空白セルを無視し...
-
バッチ処理 特定の文字以降を...
-
VBAでcsvファイルもシートもあ...
-
ダブルコーテーション付きでCSV...
-
【ExcelVBA】300万件越えCSVか...
-
ファイル名を変数で書きこむfwr...
-
Access VBA エラー2448について
-
EXCEL→CSV保存時のダブルクォー...
-
VBA テキストボックスを選択状...
-
[コンパイルエラー 修飾子が不...
-
複数のファイルをまたぐエクセ...
-
VBAで複数のCSVからレコードセ...
-
fortranでNAのあるデータを読み...
-
CSVデータの文字列置換
-
verilog HDLについての質問です...
-
VB.netでShellExecuteがしたい
-
Fortran:列数の分からないデー...
おすすめ情報