javascript - 如何突出显示给定坐标的单词

标签 javascript jquery html coordinates

我找到这段代码:( result of the script ):

HTML

<p>Each word will be wrapped in a span.</p><p>A second paragraph here.</p>Word: <span id="word"></span>

JavaScript

// wrap words in spans
$('p').each(function() {
    var $this = $(this);
    $this.html($this.text().replace(/\b(\w+)\b/g, "<span>$1</span>"));
});


// bind to each span
$('p span').hover(
    function() { $('#word').text($(this).css('background-color','#ffff66').text()); },
    function() { $('#word').text(''); $(this).css('background-color',''); }
);

我想要类似的东西。我需要做的是获得相同的结果,但不是突出显示光标下的单词(跨度标签),而是需要突出显示给定像素坐标的单词(跨度标签)。 有谁知道这是否可能,我该怎么做?还是有别的办法?

谢谢!

最佳答案

也许你想使用 elementFromPoint() .使用起来非常简单,只需要传递坐标,这个函数就会返回该点下的一个元素。

对于您的特定情况,每个单词都必须位于独立元素 spandiv 或其他元素中。

查看工作示例:jsfiddle

也许你想做一些更稳健的解决方案,并添加一个条件,如果在给定的坐标中没有元素(elementFromPoint() 返回它的祖先或 body 元素或 NULL(如果坐标不在可见部分)

关于javascript - 如何突出显示给定坐标的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25529936/

相关文章:

javascript - 使用对象访问属性值

javascript - ajax调用后更新div

javascript - 从数组中动态选择对象

jQuery 验证插件复选框 errorPlacement

javascript - 访问动态创建的跨域 iFrame 内的元素?

javascript - 如何在变量上应用 jquery 函数?

php - 将类 stdClass 的对象转换为 JSON 对象

javascript - Knockout js内置变量($data)

html - 如何将显示内联 block 移动到右侧?

html - 如何发送已填充值的 html 表单