您的位置:首页 > 产品设计 > UI/UE

div设置contentEditable="true"作为文本编辑器,定位光标解决办法

2015-09-01 16:21 609 查看
比如你会在div中插入表情,也可能输入文字,这时候,你可能需要定位光标的位置,默认不处理的情况下,div的光标是定位在文字后面,而你插入一个img标签,光标是不会跟随移动的!解决办法:

function set_focus(el) {
el = el[0]; // jquery 对象转dom对象
el.focus();
if ($.browser.msie) {
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);
}
}


转自:/article/2256551.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: