怎么使 contenteditable="true"标签触发focus()后的光标出现在内容末尾

怎么使 contenteditable="true"标签触发focus()后的光标出现在内容末尾,第1张

使用下面这个函数,绝对好使。

function insertHtmlAtCaret(html){

var sel, range;

if (windowgetSelection) {

// IE9 and non-IE

sel = windowgetSelection();

if (selgetRangeAt && selrangeCount) {

range = selgetRangeAt(0);

rangedeleteContents();

var el = documentcreateElement("div");

elinnerHTML = html;

var frag = documentcreateDocumentFragment(), node, lastNode;

while((node = elfirstChild)){

lastNode=fragappendChild(node);

}

rangeinsertNode(frag);

// Preserve the selection

if (lastNode) {

range = rangecloneRange();

rangesetStartAfter(lastNode);

rangecollapse(true);

selremoveAllRanges();

seladdRange(range);

}

}

} else if (documentselection && documentselectiontype != "Control") {

// IE < 9

documentselectioncreateRange()pasteHTML(html);

}

}

可以处理richedit控件的EN_SETFOCUS(获得焦点)和EN_KILLFOCUS(失去焦点)消息

声明一个CHARRANGE变量(比如叫cr)记录光标位置,在EN_KILLFOCUS处理函数中调用GetSel(cr)记录当前光标位置,然後在EN_SETFOCUS处理函数中调用SetSel(cr)回覆之前记录的光标位置

以上就是关于怎么使 contenteditable="true"标签触发focus()后的光标出现在内容末尾全部的内容,包括:怎么使 contenteditable="true"标签触发focus()后的光标出现在内容末尾、VS2010下,RichEdit 2.0获得焦点后 ,自动全选并且自动滚到到最后一行,请问怎么解决、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/10143153.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存