用div的contenteditable = true做文本编辑器 光标的设置方法
2017-11-20 23:06
399 查看
用div的contenteditable = true做文本编辑器的方法
function set_focus(el) {
el=el[0]; // jquery 对象转dom对象
el.focus();
if($.browser.msie){
//上面是ie的写法
var rng;
el.focus();
rng = document.selection.createRange();
rng.moveStart('character', -el.innerText.length);
var text = rng.text;
for (var i = 0; i < el.innerText.length; i++) {
if (el.innerText.substring(0, i + 1) == text.substring(text.length - i - 1, text.length)) {
result = i + 1;
}
}
}else{
var range = document.createRange();
range.selectNodeContents(el);
range.collapse(false);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
}
}
第二种写法
function getC(that){
//that 为dom对象
if(document.all){
that.range=document.selection.createRange();
that.range.select();
that.range.moveStart("character",-1);
}else{
that.range=window.getSelection().getRangeAt(0);
that.range.setStart(that.range.startContainer,2);
}
}
function set_focus(el) {
el=el[0]; // jquery 对象转dom对象
el.focus();
if($.browser.msie){
//上面是ie的写法
var rng;
el.focus();
rng = document.selection.createRange();
rng.moveStart('character', -el.innerText.length);
var text = rng.text;
for (var i = 0; i < el.innerText.length; i++) {
if (el.innerText.substring(0, i + 1) == text.substring(text.length - i - 1, text.length)) {
result = i + 1;
}
}
}else{
var range = document.createRange();
range.selectNodeContents(el);
range.collapse(false);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
}
}
第二种写法
function getC(that){
//that 为dom对象
if(document.all){
that.range=document.selection.createRange();
that.range.select();
that.range.moveStart("character",-1);
}else{
that.range=window.getSelection().getRangeAt(0);
that.range.setStart(that.range.startContainer,2);
}
}
相关文章推荐
- div设置contentEditable="true"作为文本编辑器,定位光标解决办法
- div设置contentEditable="true"作为文本编辑器,定位光标解决办法
- div设置contentEditable="true"作为文本编辑器,定位光标解决办法
- Vue中div contenteditable 的光标定位方法
- div设置参数contenteditable=true
- div设置contenteditable="true" 光标消失:原因
- 设置TextBox控件readOnly="True",后台无法取得客户端TextBox中值的解决方法
- js 动态添加元素(div、li、img等)及设置属性的方法
- .NET中TextBox控件设置ReadOnly=true后台取不到值三种解决方法
- JQuery设置DIV的text("")造成IE崩溃解决方法
- win7下sciTE文本编辑器的一些设置方法
- CSS中设置DIV垂直居中的N种方法 兼容IE浏览器
- 只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态等错误解决方法(原)
- 可编辑DIV (contenteditable="true") 在鼠标光标处插入图片或者文字
- 可编辑DIV设置光标位置
- VC设置鼠标光标方法
- [转]table和div设置height:100%无效的完美解决方法
- 解决div被flash挡住的设置方法
- allegro大十字光标设置方法