这是这个关于contenteditable
富文本编辑的问题的后续。我在最近的 Firefox(Linux 上的 21 beta 7)中使用 HTML5 和 Javascript。
我想要一个内容可编辑的<p>
段落(或者稍后,<div>
块元素),其中用户输入的单词以两种不同的方式(可能<span class='name'>
和<span class='word'>
)显示,具体取决于它们是否已知。因此,如果用户输入foo john
了foo
一个未知单词但john
它是一个已知名称,则两个单词的呈现方式将不同,并且可编辑段落将包含
<p><span class='word'>foo</span> <span class='name'>john</span></p>
当我得到一个keypress
事件时,我知道它的target
元素。但是我怎么知道那个元素中的字符偏移量。换句话说,如果元素是某个包含文本节点或跨度的元素,jon
并且插入符号在jo
之前和之后,n
并且如果我正在输入h
字符,我如何获得偏移量 2 ?
当然,我有一个 javascriptknownname
函数,null
如果它的参数 -some string- 不是一个已知的名称而是一个普通的单词,并且如果它是已知的,则返回一些真值。
顺便说一句,我想要纯 Javascript。稍后,将生成该 Javascript(我开始学习如何生成该生成器)。