我正在开发一些小型聊天应用程序。我想在那里实现表情符号,所以当我点击一些表情符号时,它会出现在用户输入他的消息的文本区域中,当用户点击选择时,我希望表情符号出现在包含对话的 div 中。
经过一些变通方法后,我意识到用 div contenteditable="true" 替换 textarea 效果不太好,所以我确实用 ':' 包装了某些笑脸名称,例如 textarea 中的 :wink: 但我仍然需要替换 :wink: 与包含图像作为背景的真实跨度。
问题是我没有看到一种动态制作的方法,而是一个一个地做。
例如:
if ($('.line:contains(":wink:")').length > 0) {
var oldLineHTML = $('.line:contains(":wink:")').html();
$('.line:contains(":wink:")').html(oldLineHTML.replace(/:wink:/gi, '<span class="wink></span>"'));
我有很多表情符号,所以执行这个非常耗费资源的功能会花费我很多,并且还会在维护期间给我带来很多问题。
我怎样才能动态地做到这一点?或者,也许您有更好的解决方案,需要重新设计……如果需要,我可以做到。
谢谢 }