-5
我對clientX和clientY的工作方式有些疑惑。 我想獲得在窗口中點擊鼠標的座標。我真的需要他們精確。如何在我的窗口中獲取丟失的像素?
我現在的問題是,我得到的座標,但是當涉及到我的窗口的右邊緣和最下面的邊緣時,最後一個像素只是丟失。我無法獲得我的座標以顯示全寬或全高。
我正在使用的窗口的內部維度爲1920x916。我需要x座標的值從0到1920.但它不會達到1920. 1919是最好的我會得到。與身高同樣的問題。最好的是915.爲什麼?
var winSize = document.getElementById("size");
var mouseCoords = document.getElementById("coords");
window.addEventListener("click", getCoords);
function getCoords(e)
{
var windowWidth = window.innerWidth;
var windowHeight = window.innerHeight;
winSize.innerHTML = windowWidth + ":" + windowHeight;
var xPosition = e.clientX;
var yPosition = e.clientY;
mouseCoords.innerHTML = xPosition + ":" + yPosition;
}
這裏是我的little fiddle
另一個小小的要求:無jQuery,請與我並不需要支持IE或Safari。
用於'1920x916'像素範圍是... 0 ... 1919 X 0 ... 915 ...如果你計算的值的數量,這是... 1920×916 ....而不是計算916像素...想象你的屏幕是1×1 ...唯一的像素是0, 0不是1,1 –
哦......我怎麼能忘記這一點?我只是愚蠢的。 – Yashia