jquery – 当插入符号位于内容可编辑div中时插入html

前端之家收集整理的这篇文章主要介绍了jquery – 当插入符号位于内容可编辑div中时插入html前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在一个contenteditable div中插入一些html.

在编辑内容时,用户点击一个图标,一个对话框弹出,然后他进入网址&在对话框中锚定文本.这导致可编辑的div失去焦点,链接插入div的开头,而不是插入符号.我尝试了很多东西但是我被卡住了.

我的可编辑内容div的“rte”id

对话框中按钮的“link_add”id

$('#link_add').click(function (e)
{       
    $('#rte').focus();                  
    document.execCommand('insertHTML',false,'html content test');         
    close_modal ();
    e.preventDefault();

});

我还尝试了set execcommand just for a div解决方案,使用:

function execCommandOnElement(el,commandName,value)

但这会清空div并粘贴新内容.

解决方法

我认为这是一个“内联”对话框(就像StackOverflow的链接对话框一样),它可以移动焦点,从而移动选择.解决方案似乎是保存和恢复选择.调用getSelection()以获取对选择的引用并保存anchorNode,anchorOffset,focusNode和focusOffset属性,然后使用collapse(anchorNode,anchorOffset)并扩展(focusNode,focusOffset)以在关注contenteditable div后恢复选择. (如果你对两个节点都不感兴趣,你可以崩溃(focusNode,focusOffset).)
原文链接:https://www.f2er.com/jquery/180785.html

猜你在找的jQuery相关文章