一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

在線編輯器中換行與內容自動提取

有的是使用“return false”解決了ie的插入<br>問題,但是firefox并沒有解決。而且這個問題連fckeditor都沒解決。呵呵,不知是否有意為之。
可能看了以上的描述還不太明白什么問題。我們做個實驗,打開fckeditor切換到源碼模式輸入<div>test test test test test test</div>,再切換回設計模式,然后在這句的任意地方輸入個回車,比如在第3個test后,你會發現源碼內得到的是<div>test test test </div><div>test test test</div>,并且如果是<div style="">這形式,自動生成的也是這種形式,這樣會增加許多無用代碼,而且這問題在我所能找到的在線編輯器都有。
為什么一定要使用<br>換行呢?簡單,而且靈活不像<p>換行空行間距大,需要大空行多輸入幾個回車就行。而且假如使用自動提取文章部分內容的話不怕tag沒有閉包(可能'<br>'別切割,但只有很少的內容,顯示不正常。而且'<br>'被切割中的概率很低,除非使用連續多個<br>,當然這也很容易修補)。這樣在使用自定義層時可以使用<p>,好處是不怕被切割而使得tag沒有閉包。這樣可以避免使用<div>。如果使用<div>的話自動截取的文章內容而使得有個<div>沒有閉包(如果一個div內的內容多,這情況很容易出現),將會對整個頁面效果產生不好的影響。而去除tag,再截取內容的話也不是一個好選擇,比如csdn的blog就是先去除了tag,然后截取文章,這個效果大家都看到了,肯定不好。當然如果要保證tag的完整,比如img,a還有些工作要做,那也會簡單得多。記住通過這樣處理后在截取文章內容存入數據庫還要對用戶可能使用源碼編輯的<div>標簽替換為<p>標簽。
到底如何能得到<div>test test test <br>test test test</div>呢?
呵呵,問題的解決其實也很簡單。那就是屏蔽瀏覽器的默認動作,而不是return false(網上搜得到這種方式,但這只能解決ie下的問題)。
使用onkeydown事件綁定函數(兼容ie,firefox)
function cancelEnter (e)
{
var keyCode = e.charCode || e.keyCode;
if(keyCode == 13)
{
// 此處使用插入字符函數加上<br>(當然也可以是其他)比如document.execCommand(cmd, false, '<br>');
// 注意ie不支持這個command
// 由于實現可能是iframe或div代碼有所不同,看您的具體情況(要兼容ie,firefox這里也一定需要兼容)
// 在網上也能搜索到代碼就不多說了
if(e.preventDefault) e.preventDefault(); // 禁止瀏覽器默認動作(這里是關鍵)
else e.returnValue = false;
}
}
這樣就可以得到<div>test test test <br>test test test</div>。

JavaScript技術在線編輯器中換行與內容自動提取,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 综合网天天 | 免费看的黄网站 | 五月玖玖 | 欧美福利第一页 | 日本亚洲精品 | 国产成人精品日本亚洲专利 | 亚洲欧美另类久久久精品能播放的 | 五月婷婷丁香综合 | 久久线看观看精品香蕉国产 | 国产91丝袜香蕉在线播放 | 日韩avv| 好吊妞在线观看 | 禁断の肉体乱爱中文字幕欧 | 91青青草| 亚洲精品亚洲人成人网 | 色婷婷久久合月综 | 国产高清精品一区 | 亚洲成人免费网站 | 酒色婷婷 | 亚洲免费视频网站 | 国产色中色 | 精彩国产熟睡乱子伦午夜片 | 日本加勒比在线播放 | 一级寡妇乱色毛片全18 | 亚1洲二区三区四区免费 | 国产短视频在线 | 日本久久道一区二区三区 | 国产精品高清免费网站 | 久久久亚洲天堂 | 亚洲免费网站 | 日本色www | 五月婷婷六月综合 | 亚洲欧洲视频 | 黄页网址大全免费观看美女 | www.碰| 亚洲精品私拍国产福利在线 | 亚洲另类小说网 | 在线免费一区二区 | 欧美四色 | 亚洲乱码一二三四区乱码 | 国产女人一区二区 |