【发布时间】:2015-12-19 21:41:17
【问题描述】:
我在 StackOverflow 上看到了一些关于此的问题,但似乎很难找到基于 jQuery 的解决方案。因此,我想问这个问题。
我想用属性contenteditable="true" 即时替换div 中的文本。
我正在寻找一个基于 jQuery 的解决方案,它将执行以下操作:
- 即时自动替换书面文本(在您键入时)
- 能够继续写入(在完成替换的同时)
我查看了 SC 编辑器 (http://www.sceditor.com/),它似乎正是这样做的(例如,如果您尝试输入 :),它会被表情符号替换。
我认为一个好的开始是一个包含所有要替换的元素的数组:
$.settings = {
path: 'https://example.com/images/',
emoticons: {
':(' : 'stupid.jpg',
':)' : 'smart.jpg',
}
}
我一直找不到这方面的好例子。如果有人可以分享他们的想法和任何代码,我会很高兴。
如何用上面的代码以最好的方式完成替换?
【问题讨论】:
-
我不知道这是否是最好的方法,但是您可以在输入中添加一个侦听器,并在您输入时让它读取字符,如果最后一个写入的字符与您测试的最后一个情绪相匹配与任何情感相匹配的先前角色。如果我写 :( 当它捕捉到(它会字体为:如果找到替换为你的情感。
标签: javascript jquery contenteditable