我正在寫一個腳本,它會反覆將我的鼠標座標寫入元素。但我不確定如何檢測鼠標的信息。有人想指向正確的方向嗎?如何獲取鼠標的座標?
document.getElementById("coords").innerHTML = crdX + ", " + crdY
編輯:我的問題是不是提出問題的複製,因爲所提出的問題是關於同一問題的循環方面,而我的是關心「事件處理'方面。我確實閱讀並試圖確定我需要的信息,但由於我是初學者,我發現他們的代碼難以閱讀。
我正在寫一個腳本,它會反覆將我的鼠標座標寫入元素。但我不確定如何檢測鼠標的信息。有人想指向正確的方向嗎?如何獲取鼠標的座標?
document.getElementById("coords").innerHTML = crdX + ", " + crdY
編輯:我的問題是不是提出問題的複製,因爲所提出的問題是關於同一問題的循環方面,而我的是關心「事件處理'方面。我確實閱讀並試圖確定我需要的信息,但由於我是初學者,我發現他們的代碼難以閱讀。
您需要附加一個MouseEvent,並且傳遞給處理程序的事件對象將爲您提供座標。如果你想跟蹤到處移動,請將其附加到文檔中。 clientX
和clientY
屬性給你本地座標,而screenX
和screenY
給你全局座標。
小提琴:http://jsfiddle.net/AtheistP3ace/7pj9gpvn/4/
HTML:
<p id="coords"></p>
<p id="coords2"></p>
JS:
document.addEventListener('mousemove',
function (event) {
var para = document.getElementById('coords');
para.textContent = event.clientX + ", " + event.clientY;
var para2 = document.getElementById('coords2');
para2.textContent = event.screenX + ", " + event.screenY;
}
);
隨意也讀了它自己:https://developer.mozilla.org/en-US/docs/Web/Events/mousemove
嘗試這適用於所有的瀏覽器
<html>
<body>
<form name="mShow">
<input type="text" name="MX" value="0" size="4"> X
<br>
<input type="text" name="MY" value="0" size="4"> Y
<br>
</form>
<script language="JavaScript1.2">
var IE = document.all ? true : false
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouse;
var tempX = 0
var tempY = 0
function getMouse(e) {
if (IE) {
tempX = event.clientX + document.body.scrollLeft
tempY = event.clientY + document.body.scrollTop
} else {
tempX = e.pageX
tempY = e.pageY
}
if (tempX < 0) {
tempX = 0
}
if (tempY < 0) {
tempY = 0
}
// ADD TEMP VALUE FOR FIELDS
document.mShow.MX.value = tempX
document.mShow.MY.value = tempY
return true
}
</script>
</body>
</html>
那你嘗試了嗎? – ashes999