87,907
社区成员
发帖
与我相关
我的任务
分享
//主要更改了这里,在点击时或者输入时自动保存range对象
function InitFrameEvent(frm,doc)
{
if(IsIE)//=====================IE===================
{
doc.onclick=function(){HideDiv();HtmlRange=$('HtmlEditor',true).document.selection.createRange();}
doc.onkeydown=function()
{
e=frm.event;//注意这里获取的是iframe中的事件对象
if(e.keyCode==13)//在ie时回车生成<p>,替换为<br>.ff下生成<br>,所以不需要处理回车
{
e.returnValue=false;//prevent the enter key to exec
var r=this.selection.createRange();
r.pasteHTML("<br>");
r.select();//set the cursor's position
}
HtmlRange=$('HtmlEditor',true).document.selection.createRange();
}
}
}
function InsertFace(e)
{
if(IsIE){
var tmpR=$('HtmlEditor',true).document.selection.createRange();
if(HtmlRange){//已经保存过
//判断父亲容器是否相同,相同则保存,如果不相同说明创建的range不是编辑器里面的
//其实这个个好像不需要了,因为修改过init.js了,在编辑器里面添加了自动保存range的事件,暂且留着吧
if(HtmlRange.parentElement()==tmpR.parentElement())HtmlRange=tmpR
}
else{//第一次进入页面没选择编辑器而直接插入图片时将插在第一个位置上
$('HtmlEditor',true).focus();
HtmlRange=$('HtmlEditor',true).document.selection.createRange();
}
}
HideDiv();
e=e||event;
var divFace=document.getElementById("divFace");
if(divFace.style.top==null||divFace.style.top.trim()=="")
{
divFace.style.top=e.clientY+20+"px";
divFace.style.left=e.clientX+"px";
}
divFace.style.display="block";
}