麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > WEB開發 > 正文

html編輯器的回車換行問題解決方案

2024-04-29 21:00:23
字體:
來源:轉載
供稿:網友

在html編輯器中,一般默認按回車總是出現<p> </p>,當然按shift+enter可以是直接加<br>,而很多人希望按回車就是<br>換行而不是分段。

一直有人問我這個問題,而我沒有寫代碼測試就認為在onkeydown里面判斷event.keyCode==13就可以判斷并解決,而后來發現似乎并沒有人能用這種方法解決成功。對此表示歉意!為此,仔細研究了一下,發現可以有兩種解決方法,但是都不是很完美,不過已經基本可以滿足需要了:

1.在初始化編輯器內容的時候,加上"<div></div>"
這樣回車的時候編輯器會直接生成"<div></div>"而不會生成<p></p>,就可以只是換行而不換段了,如下所示:

以下為引用的內容:
<SCRIPT LANGUAGE="javascript"><!--function initeditor(){ var L_DEFAULTHTML_TEXT="<DIV></DIV>"; var sz="" sz+="<BODY ONCONTEXTMENU=/"return false/">"+L_DEFAULTHTML_TEXT+"</BODY>" idEditbox.document.designMode="on"//編輯模式打開 idEditbox.document.write(sz) //以下代碼只是輔助方便看編輯器源代碼的 idEditbox.document.attachEvent( "onkeyup"  , readsource ); idEditbox.document.attachEvent( "onkeydown"  , readsource );}//看源代碼function readsource(){ document.all.source.value=idEditbox.document.body.innerHTML;}//--></SCRIPT><BODY ><iframe width="500" height="400" id="idEditbox"></iframe><BR><INPUT TYPE="button" value="查看源代碼" ><BR><TEXTAREA NAME="source" ROWS="20" COLS="60"></TEXTAREA></BODY>

不足:
這種方法有個bug就是在編輯器中添加一些內容后,全選(ctr+A)然后刪除所有內容(這樣就把<div></div>也刪除了),重新輸入內容后回車就還是會產生<p></p>

2.直接在onkeypress里面處理

我們可以在onkeypress里面直接出來,但判斷event.keyCode==13也就是是回車的時候我們直接插入<br>標簽,這樣無論怎么樣都不會出現問題的了。以下是代碼示例:

以下為引用的內容:
<SCRIPT LANGUAGE="javascript"><!--function initeditor(){ var sz="" sz+="<BODY ONCONTEXTMENU=/"return false/"></BODY>" idEditbox.document.designMode="on" idEditbox.document.write(sz) idEditbox.document.onkeypress=fnKeypress}function fnKeypress(){ //注意:如果焦點不在編輯器內該函數就不起作用了; var ev = idEditbox.event; if(ev.keyCode==13){  insertHTML("<br><!--  -->"); //不知道是我瀏覽器問題還是其他問題,只插入<br>標簽光標不換行,必須附加點其他標簽,可以最后一起刪除之  return false;//這樣回車就是等于失效了,不會加上討厭的<p>標簽 }}//在光標位置插入htmlfunction insertHTML(html){var sel = idEditbox.document.selection;if (sel!=null) {    var rng = sel.createRange();    if (rng!=null)        rng.pasteHTML(html);}}//查看代碼function readsource(){ document.all.source.value=idEditbox.document.body.innerHTML;}//--></SCRIPT><BODY ><iframe width="500" height="400" id="idEditbox"></iframe><BR><INPUT TYPE="button" value="查看源代碼"  ><BR><TEXTAREA NAME="source" ROWS="20" COLS="60"></TEXTAREA></BODY>  

不足:
1).insertHTML("<br><!--  -->"); 會產生垃圾代碼“<!--  -->”; 
2).要保證焦點必須在編輯器中才能響應編輯器的onkeypress事件
因時間關系,本示例程序并未給出焦點不在編輯器中的處理方法

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 免费一级片观看 | 国产精品视频一区二区噜噜 | 久久亚洲精选 | 日日艹夜夜艹 | 婷婷一区二区三区 | 久久99深爱久久99精品 | 天天色综合6 | 精品无吗乱吗av国产爱色 | 久久日韩| 136福利视频 | 污黄视频在线播放 | 国内精品久久久久久久久久 | 久久综合婷婷香五月 | 国产精品久久99精品毛片三a | 视屏一区 | 神马视频我不卡 | 国产精品av久久久久久网址 | 成人激情久久 | 精品国产高清一区二区三区 | 国产va在线观看 | 久久精品国产亚洲7777 | 国产91免费看 | 亚洲欧美国产视频 | 国产视频在线一区 | 国产精品九九久久一区hh | 99视频观看 | 在线观看视频亚洲 | 亚洲国产精品久久久久久久久久 | 一区二区免费看 | 日韩视频―中文字幕 | 成人午夜免费看 | 国产一级一片免费播放 | 国产免费一级淫片a级中文 99国产精品自拍 | 深夜影院a| 斗罗破苍穹在线观看免费完整观看 | 精品一区二区免费 | 少妇一级淫片免费放播放 | 桥本有菜免费av一区二区三区 | 色悠悠久久久久 | 亚洲影视在线 | 一区国产精品 |