在我的项目中,我使用了非常有用的jQuery TextRange插件。我在文本区域的顶部有一个高亮 div,我必须知道用户正在编辑的实际元素是什么。为了更好地理解,我将在下面使用很多示例。
在我的项目中,如果我在 textarea 上有此文本:
Text that doesn't matter #this_matter and #this_too
我的高亮 div 中有这样的内容:
"Text that doesn't matter <b>#this_matter</b> and #this_too</b>"
一切都好,但是...
我需要知道我正在编辑的“标签”是什么。所以我认为使用职位来解决这个问题,但正如你将看到的,我有一些问题。在我的文本区域中,我使用以下方法获取光标位置:
input = $('#post-input')
var cursorPosition = input.textrange('get','position')
有了这些信息,我需要知道我正在编辑的主题标签是什么。假设这|
是光标在文本区域中位置的符号,所以:
"Text that doesn't matter #this_matter and #this|_too"
必须返回<b>#this_too</b>
元素,因为这是实际的主题标签。另一个例子:
"Text that doesn't matter #|this_matter and #this_too"
必须返回<b>#this_matter</b>
。
毕竟,我怎样才能用光标位置信息返回正确的元素?