在 JavaScript 中,可以使用不同的方法來(lái)獲取鼠標(biāo)在頁(yè)面中的位置。下面列舉了幾種常用的方法:
1. 使用 `event.clientX` 和 `event.clientY` 屬性:
- 在鼠標(biāo)事件處理程序中,可以通過(guò)訪問(wèn)事件對(duì)象的 `clientX` 和 `clientY` 屬性來(lái)獲取鼠標(biāo)相對(duì)于瀏覽器窗口可視區(qū)域左上角的水平和垂直位置。
- 示例:
document.addEventListener('mousemove', function(event) {
let mouseX = event.clientX;
let mouseY = event.clientY;
console.log(mouseX, mouseY);
});
2. 使用 `event.pageX` 和 `event.pageY` 屬性:
- 在鼠標(biāo)事件處理程序中,可以通過(guò)訪問(wèn)事件對(duì)象的 `pageX` 和 `pageY` 屬性來(lái)獲取鼠標(biāo)相對(duì)于整個(gè)文檔頁(yè)面左上角的水平和垂直位置。
- 示例:
document.addEventListener('mousemove', function(event) {
let mouseX = event.pageX;
let mouseY = event.pageY;
console.log(mouseX, mouseY);
});
3. 使用 `event.offsetX` 和 `event.offsetY` 屬性:
- 在鼠標(biāo)事件處理程序中,可以通過(guò)訪問(wèn)事件對(duì)象的 `offsetX` 和 `offsetY` 屬性來(lái)獲取鼠標(biāo)相對(duì)于觸發(fā)事件的元素的內(nèi)部坐標(biāo)位置。
- 示例:
document.getElementById('myElement').addEventListener('mousemove', function(event) {
let mouseX = event.offsetX;
let mouseY = event.offsetY;
console.log(mouseX, mouseY);
});
需要注意的是,這些方法只能在鼠標(biāo)事件處理程序中使用,并且事件對(duì)象(如 `event`)是事件處理函數(shù)的參數(shù)。
綜上所述,可以使用 `clientX`、`clientY`、`pageX`、`pageY`、`offsetX` 和 `offsetY` 等屬性來(lái)獲取鼠標(biāo)在頁(yè)面中的位置。根據(jù)具體需求選擇合適的方法即可。