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

首頁 > 開發 > 綜合 > 正文

一款支持插入表情的編輯器實現代碼(簡單思路挺重要)

2024-07-21 02:53:48
字體:
來源:轉載
供稿:網友
先說做的是什么哈。 一個發言框,功能不多。 要求能插入表情,最終得到的代碼表情不是<img>標記,而是類似 /:haha 的表情代碼。項目做的時候有些部分用了Jquery直接上代碼了
 
下面是一個表情列表,為了簡單我直接在li里面放圖片的文件名稱,而class 屬性用來存放對應的標記 
復制代碼代碼如下:

<ul id="faceList"> 
<li class="wx">0.gif</li> 
<li class="pz">1.gif</li> 
<li class="se">2.gif</li> 
</ul> 

接下來把上面的 li 變成 img 
復制代碼代碼如下:

var faceDir = "images/"; //配置表情目錄 
var iframeDocument = null; 
var iframeWindow = null; 
var isIe = false; 
$.each($("#faceList>li"), function(){ //展現表情 
var node = document.createElement("img"); 
node.className = $(this).attr("class"); 
node.src = faceDir+$(this).html(); 
this.innerHTML = ""; 
this.appendChild(node); 
}); 

放一個 iframe 用來做編輯器 
復制代碼代碼如下:

<iframe id="Edit" frameborder="0"></iframe> 

先得到 ifame 
復制代碼代碼如下:

iframeWindow = document.getElementById("Edit").contentWindow;iframeDocument = document.getElementById("Edit").contentWindow.document; iframeDocument.designMode="On"; //打開iframe 編輯模式 


.designMode="On"; 這個方法還是蠻常見的。 剛開始做的時候還想用 textarea 但是textarea不能顯示圖片。這里在實際過程中發現與 textarea 的一個差異,iframe 內不會自己換行,所以為iframe 添加了一個body設置了一個word-wrap屬性 
復制代碼代碼如下:

iframeDocument.write("<html><body style=/"word-wrap:break-word;text-align: left; background-color: #fff; border:1px solid #CCC; margin:0px; padding:0px;overflow:hidden;/"></body></html>"); 

下面實現,在iframe 插入圖片表情的過程(代碼內有注釋) 
復制代碼代碼如下:

$("#faceList>li").click(function(){ 
var $this = $(this); 
var $thisImg = $(this).find("img:eq(0)"); //當前點擊的表情(IMG標記) 
document.getElementById("Edit").contentWindow.focus(); //使編輯區域得到焦點 
var r = null; 
if(document.selection) //處理兼容性問題 

//把表情放入iframe 
r = iframeDocument.selection.createRange(); 
iframeDocument.selection.empty(); 
r.pasteHTML($thisImg[0].parentNode.innerHTML.toString()); 

else if(window.getSelection) 

r = iframeWindow.getSelection().getRangeAt(0); 
iframeWindow.getSelection().removeAllRanges(); 
var node = document.createElement("img"); 
node.className = $thisImg.attr("class"); 
node.src = $thisImg.attr("src"); 
r.surroundContents(node); 

}); 

到這里,就完成了插入表情的過程。還有最后一件事情:翻譯img 標記 
復制代碼代碼如下:

function GeteEditData() 

var edit = iframeDocument.getElementsByTagName("body")[0].innerHTML; 
//在內存中Copy一個該節點副本,以保全文檔流格式 
var str = new String(edit); 
var $content = $("<div>"+str+"</div>"); 
var imgNode = $("#faceList img"); 
$.each(imgNode, function(){ 
var mark= "/:"+$(this).attr("class").toString(); 
var fs = $content.find("."+$(this).attr("class").toString()); 
if(fs!=null&&fs[0]!=undefined) 

fs.replaceWith(mark); 

}); 

其實還有很多問題沒有處理,俺也只是一知半解。把代碼貼出來希望能幫助一些朋友解決問題。
 

注:相關教程知識閱讀請移步到編輯器頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲生活片 | 91精品国啪老师啪 | 亚洲综合精品 | 91在线视频精品 | 国产亚洲精品久久午夜玫瑰园 | 午夜视频在线观看免费视频 | 看91视频| 午夜爽爽爽男女免费观看hd | 日韩精品一区二 | 国产免费一级淫片 | 国产五区| 午夜精品小视频 | 热久久成人 | 亚洲综合一区在线观看 | 黄色特级毛片 | 中国漂亮护士一级a毛片 | 懂色av懂色aⅴ精彩av | 精品国产一级毛片 | 亚洲国产精品久久久久久久久久 | 日美黄色片| 欧美成年性h版影视中文字幕 | 久久亚洲精品久久国产一区二区 | 欧美成人亚洲 | 免费看性xxx高清视频自由 | 18欧美性xxxx极品hd | 视频国产一区二区 | av电影免费播放 | 久久久精品视频免费看 | 免费午夜视频 | 视频在线91 | 久国产精品视频 | 亚洲精品午夜国产va久久成人 | 久久免费视频1 | 亚洲精品一二三区 | 久久久久久久久久久影视 | 精品在线观看一区二区三区 | 中国老女人一级毛片视频 | 成年人免费视频播放 | 午夜爽爽爽男女免费观看hd | 欧美成人一区二区三区电影 | 久久精品国产99国产精品澳门 |