人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

JavaScriptのdesignmodeに関する質問です。
iframeにdesignmode='on'を設定し、WYSIWYGな編集環境を開発しています。

これにつきまして、単純にdesignmodeを実装するだけでは、iframe内でENTERキー押下による改行を行った場合に見た目として二行分の改行がなされ、<p></p>タグが挿入されるという挙動になります。
(一行分の改行を行い、<br />タグを挿入するためにはSHIFT+ENTER)。

直感的な操作を実現する上では、ENTER押下時には一行分の改行を行い、<br />タグ挿入という挙動に変更したいのですが、その方法をご存知の方、教えていただけないでしょうか。

●質問者: KarzZombie
●カテゴリ:インターネット ウェブ制作
✍キーワード:JavaScript ON WYSIWYG タグ 操作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● talepanda
●60ポイント
<html>
 <head>
 <script type="text/javascript">
 var doc=null;
 function init(){
 if (document.all) {doc = frames[0].document;setTimeout(initie,0)}
 else {doc = document.getElementById("orz").contentDocument;} 
 doc.designMode = "on";
 }
 
 function initie(){
 doc.documentElement.onkeydown=function(){
 var e=window.frames[0].event,k=e.keyCode,m=e.shiftKey;
 if(k==13){var b=doc.createElement("br");doc.execCommand("InsertMarquee",false,"orz_orz_orz");
 doc.getElementById("orz_orz_orz").parentNode.replaceChild(b,doc.getElementById("orz_orz_orz"));return false;}
 }
 }
 </script>
 </head>
 <body onload='init();' onclick="alert(doc.documentElement.innerHTML)">
 <iframe id="orz" width="500px"height="500px"></iframe>
 </body>
</html>

みたいな。かなり強引なhackですが。ちゃんと調べたらもっといい方法があるかも。

◎質問者からの返答

返事が遅くなりましたが、ありがとうございます!!

めちゃくちゃ助かりました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ