Javascript 如何在contenteditable div中的插入符号位置添加列表值

Javascript 如何在contenteditable div中的插入符号位置添加列表值,javascript,jquery,Javascript,Jquery,我想在contenteditable分区中的光标插入符号位置添加列表值。我有一套按钮和列表。我可以在插入符号位置添加按钮值,但在光标插入符号位置无法添加列表值。请帮助我。代码如下: function insertAtCursor(input) { document.getElementById('mytext').focus(); var sel, range; if (window.getSelection) { sel

我想在contenteditable分区中的光标插入符号位置添加列表值。我有一套按钮和列表。我可以在插入符号位置添加按钮值,但在光标插入符号位置无法添加列表值。请帮助我。代码如下:

 function insertAtCursor(input) {
        document.getElementById('mytext').focus();
        var sel, range;
        if (window.getSelection) {
            sel = window.getSelection();
            if (sel.getRangeAt && sel.rangeCount) {
                range = sel.getRangeAt(0);
                range.deleteContents();
                textNode = document.createTextNode(input + " ");
                range.insertNode(textNode);
                range.setStart(textNode, textNode.length);
                range.setEnd(textNode, textNode.length);
                sel.removeAllRanges();
                sel.addRange(range);
            }
        }
        else if (document.selection && document.selection.createRange) {
            document.selection.createRange().text = input;
        }
    }
    $('.add_val').on('click', function () {
        var input = $(this).attr('id');
        insertAtCaret(input);

    });


<li>Payment Processing
                                              <div class="expander"></div>
                                                <ul> @foreach (var item in Model.PP_Field_List)
                                                     {
                                                         if(Model.prslist == "PaymentProcess")
                                                         {
                                                        <li class="add_val" id="@item.Value.Replace(" ", String.Empty)">@item.Text.Split('_')[0]&nbsp<span>(@item.Text.Split('_')[1])</span></li>   
                                                         }                            
                                                     }

                                                </ul>
                                            </li>
function insertAtCursor(输入){
document.getElementById('mytext').focus();
var-sel,范围;
if(window.getSelection){
sel=window.getSelection();
if(sel.getRangeAt&&sel.rangeCount){
范围=选择范围(0);
range.deleteContents();
textNode=document.createTextNode(输入+“”);
range.insertNode(textNode);
range.setStart(textNode,textNode.length);
range.setEnd(textNode,textNode.length);
选择removeAllRanges();
选择添加范围(范围);
}
}
else if(document.selection&&document.selection.createRange){
document.selection.createRange().text=输入;
}
}
$('.add_val')。在('click',函数(){
var输入=$(this.attr('id');
insertcaret(输入);
});
  • 付款处理
      @foreach(Model.PP\u Field\u列表中的变量项) { 如果(Model.prslist==“PaymentProcess”) {
    • @item.Text.Split(“)[0]”(@item.Text.Split(“)[1])
    • } }