首頁  >  文章  >  web前端  >  如何使用 JavaScript 取得 Chrome 中遊標下的單字?

如何使用 JavaScript 取得 Chrome 中遊標下的單字?

Barbara Streisand
Barbara Streisand原創
2024-10-24 18:01:02186瀏覽

How to Get the Word Under the Cursor in Chrome with JavaScript?

在 JavaScript 中取得遊標下的單字

在 Web 開發中,了解遊標目前懸停在哪個單字上可能很有用。本文介紹了一個專門在 Chrome 瀏覽器中工作的 JavaScript 解決方案。

函數概述

函數 getWordAtPoint 接受三個參數:一個元素 (elem)、一個 x 座標(x) 和 y 座標 (y)。它使用 Range 物件來迭代 HTML 元素的文字內容,並確定指定座標處遊標下的單字。

實作

函數第一檢查輸入元素是否為文字節點。如果是這樣,它會建立一個 Range 物件來選擇元素的文字內容。然後,它使用循環逐步選擇文字中的每個字符,並使用 getBoundingClientRect() 方法確定目前字符的邊界矩形是否包含指定的座標。如果找到匹配項,則使用 Expand() 方法將 Range 物件擴展為包含整個單字。最後,該函數傳回單字的字串表示形式。

如果輸入元素不是文字節點,則函數會遞歸迭代其子節點,直到找到包含指定座標的文字節點。

用法

要使用此函數,您可以將其附加到所需 HTML 元素上的 mousemove 事件處理程序。例如:

<code class="javascript">document.addEventListener('mousemove', (e) => {
  const word = getWordAtPoint(e.target, e.x, e.y);
  console.log(word);
});</code>

每次使用者將滑鼠移到指定元素上時,此程式碼都會將遊標下的單字記錄到控制台。

以上是如何使用 JavaScript 取得 Chrome 中遊標下的單字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn