1

我试图使用范围来检查鼠标是否在 url 上,但我不知道如何告诉扩展范围以获得完整的 url,而不仅仅是其中的每个单词。

这是一个显示问题的示例:jsFiddle

我将在可编辑的 iframe 中使用此代码。如果用户写了一个 url,我想给他打开它的可能性,尽管它不是锚元素而是纯文本。我不确定是否可以实现,但我想尝试一下。

4

1 回答 1

0

一个问题是expand()Range 的方法是非标准的,仅在 WebKit 中支持。另一个document.caretRangeFromPoint()也是 WebKit-only。还有一个问题是,在识别单词时无法指定要匹配的正则表达式。

一个选项是我的Rangy库的新TextRange 模块,它适用于所有主要浏览器并提供更灵活的范围方法。还有一个进行中的职位模块,它提供了一个跨浏览器的实现(标准化为)。expand()document.caretRangeFromPoint()document.caretPositionFromPoint()

不幸的是,位置模块在 Firefox 中是不稳定的,但我打算尽快修复它。此外,由于我认为与 jsFiddle 有关的原因,以下演示目前在 IE 中不起作用。所以总的来说这还远远不能令人满意,但可能会给你一些想法。

现场演示:http: //jsfiddle.net/q3AtL/5/

于 2012-09-09T08:47:25.723 回答