0

在我的项目中,我使用了非常有用的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>

毕竟,我怎样才能用光标位置信息返回正确的元素?

4

1 回答 1

0

您可以使用document.elementFromPoint

document.elementFromPoint(event.clientX, event.clientY);
于 2013-10-20T02:32:41.837 回答