javascript - 在可编辑的 div 中插入笑脸

标签 javascript jquery html css

我已经试过了:

Insert smiley at cursor position

Insert emoji at cursor

我之前在堆栈溢出时问过这些问题。但是我得到的答案不符合我的要求。我想在光标位置和可编辑的 div 中插入笑脸。我的演示在 Demo . 笑脸仅插入到 div 的末尾,而不插入到光标位置。另外,我想在我点击的任何 div 中插入笑脸。此功能已经可用,但笑脸总是添加在 div 的末尾。请帮助我,因为我已经尝试了很多方法。

 $( document ).on( "click" , "#button" , function() {
     $( ".editable.focus" ).append( '<img src="https://cdn.okccdn.com/media/img/emojis/apple/1F60C.png"/>' );
 });

Note: I had a contenteditable div where I want to add image and not in the textarea.

最佳答案

这可能会有所帮助。

function insertTextAtCursor(text) { 
    var sel, range, html; 
    sel = window.getSelection();
    range = sel.getRangeAt(0); 
    range.deleteContents(); 
    var textNode = document.CreateElement("<img src="https://cdn.okccdn.com/media/img/emojis/apple/1F60C.png"/>");
    range.insertNode(textNode);
    range.setStartAfter(textNode);
    sel.removeAllRanges();
    sel.addRange(range);        
}

关于javascript - 在可编辑的 div 中插入笑脸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31690931/

相关文章:

php - Document.getElementById 在 Google map 信息窗口中不起作用

javascript - 将 Onclick 事件转换为 Page Load 事件

javascript - 以水平对齐方式显示表格数据

javascript - 模态内的表单输入不可点击

javascript - 生成一个 10 的倍数的随机数

javascript - HTML5 播放率和 Firefox

javascript - 循环遍历 jQuery 元素并如图所示对它们进行排序

javascript - JQuery,在先前设置高度后将div高度调整为新内容

javascript - 动态显示复选框检查的输入

javascript - 使用 javascript 清除输入文本