这个问题和我昨天解决的问题类似,我整好久才弄出来,或许你可以参考一下:http://blog.csdn.net/sallay/archive/2008/09/16/2937086.aspx
解决方案 »
- 关于jquery的tablesorter插件 没有效果
- Extjs gridPanel导出Excel 如何实现?(WebForm)
- 麻烦帮我把播放器代码的宽和高 设置为%100
- 请帮忙改下jsp使得支持Firefox及opera
- Ext dataIndex
- FCK赋值问题
- 谁有javascript树形菜单
- appendChild的一个奇怪问题,大家来看看
- 点击按钮指定主窗体里某一iframe的src为某一页面,在加载完毕后,在主窗口里获得这个iframe里的页面的内容,能实现吗?如何实现?
- frameset三个框架如何点击导航下面两个同时改变呢?
- 用javascript怎样实现图片模糊效果
- js怎样为动态生成的select标签添加onchange事件?
点击的时候记录event坐标
声明全局变量
var x;
var y;
点击的时候触发一个事件记录这两个值
上传图片的时候取这两个值!
才疏学浅,只能献微薄之力
我要的是富编辑器的,也就是把整个页面设置成可编辑状态后那种,像2楼给的那种编辑器~~@showbo
插入表情那里实际上没有用到我说的功能,编辑页面(iframe)没有失去焦点,那个编辑器做的比我的还简陋呢..
貌似还没正确答案~~
见 http://ww3.bbtt.us/?fromuid=156244
嗯啊~之前没试清楚~~真的可以~~不过最后跟你一样了~图片有时会插到文档外面~~
if(IsIE)HtmlRange=$('HtmlEditor',true).document.selection.createRange();//保存上次的range
不过把握好这行代码的执行时机应该就可以了~~~嗯~过两天再结贴~~
框架.focus();
然后创建一个选区 用来初始化要添加的数据
var sel=框架.document.selection.createRange();
最后添加数据
sel.pasteHTML(数据);呵呵 很简单把 因为我也做了个编辑器 做好没多长时间 http://www.wt-52.cn/MyWeb/Example/editer/
你focus也没用啊~ie下focus后不会回到之前焦点的位置~~所以要搞保存选择区~保存错了就会跑到外面去~~
四范围
else doc.execCommand(Command,false,para); 如果这部分直接用doc.execCommand(Command,false,para)就不会出现我说的那个情况了
这个在IE下返回的是:[object]?
FF下是:[object Window]?
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();
}
}
}selFace.js
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";
}
不知道怎么解决...