<div id="divBBCanvas" style="width: 200px; overflow: hidden; border-style: solid; border-color: Black;" contenteditable="true">
<span id="a">abc<img src="snap1.bmp" /></span><span id="b">def<img src="snap1.bmp" /></span><span id="c">abc<img src="snap1.bmp" />测试数据
</div>1)不管我点击这个div种的任何位置,都把光标定位到div的结尾(本例中是“测试数据”的后面,如果有测试代码,别写死,没有通用想的代码别贴)
2)和上面的没有联系。加入光标的位置在<span id="b">abc<img src="snap1.bmp" />中的“a”和“b”之间,我如何取到包含光标的这个span(HTML也行,obj也行)。同样别写没有通用性的代码,弄个正则<span[ ]+id[ ]+=[ ]+".*?">ab.*?</span>来糊弄我
解决方案 »
- vs2008起始页去掉msdn等更新?
- 读取XML文件出错,开始和结束不匹配
- |zyciis| 我现在想做一个网上商城全静态的,做什么时候来生成静态的是很多问题,想得不好,大家支支招,谢谢
- ###没有头绪,大牛来看看(session相关)#####
- 在线等:来个SQL高手,创建表时,表名为变量,字段为变量,怎么建,用触发器
- 请教:bt3.btchina.net中这样的表格效果是怎么做出来的啊?
- 在本地运行没问题,为什么上传到空间,就有这个错误呢?
- SQLHELPER问题
- 遇到一个特奇怪的问题,请各位老大帮下忙
- 求教高手.net如何向存储过程传递参数(数组)
- asp.net静态页面留言功能怎么实现?
- 关于将分页的Repeater中的内容全部导出到Excel?
2)和上面的没有联系。假如光标的位置在 <span id="a">abc <img src="snap1.bmp" />中的“a”和“b”之间,我如何取到包含光标的这个span(HTML也行,obj也行)。同样别写没有通用性的代码,弄个正则 <span[ ]+id[ ]+=[ ]+".*?">ab.*? </span>来糊弄我
var Element=null,Selection=document.selection,Type=Selection.type,Range=Selection.createRange();
if(Type=='Control') { if(Range.length>0) Element=Range.item(0); }
else if(Type=='Text') Element=Range.parentElement();
else Element=Range.parentElement();
//Firefox相关代码,自己改改
var Element=null,Range=getSelection().getRangeAt(0).startContainer;
if(Range) Element=(Range.nodeType-3?Range:Range.parentNode);
//IE相关代码
var o = document.getElementById('divBBCanvas');
o.focus();
o.innerHTML=o.innerHTML;
//Firefox相关代码
var o = document.getElementById('divBBCanvas');
o.innerHTML+="<span></span>";
var c=o.childNodes[o.childNodes.length-1],r=document.createRange();
r.setStart(c,0);
r.setEnd(c,0);
getSelection().addRange(r);
o.focus();
效果不理想,希望哪位牛人能够提供好的方法.我的编辑器是用iframe的,http://showjim.qsh.eu/js/example/HtmlEditor.htm
<span id="a">abc<img src="snap1.bmp" /></span><span id="b">def<img src="snap1.bmp" /></span><span id="c">abc<img src="snap1.bmp" />测试数据
</div>
<script>
document.getElementById("divBBCanvas").onclick=function()
{
var e=window.event||e;
var srcElement = e.srcElement || e.target;
alert(srcElement);
}
</script>