我有一個函數來獲取最近點擊的位置相對於div元素的座標,而不使用JQuery,它工作正常。獲取當前點擊座標相對於一個元素
沒有jQuery的(工作):
var Board = document.getElementById("board"); // div element
function mouseListener(e)
{
var posX = e.clientX - Board.getBoundingClientRect().left,
posY = e.clientY - Board.getBoundingClientRect().top
console.log(posX+" : "+posY);
}
window.addEventListener("mousedown", mouseListener,false);
但是這一次用了jQuery和使用jquery相比之前的代碼
給予不同的座標(不工作):
var Board = $("#board");
function mouseListener(e)
{
var posX = e.clientX - Number(Board.css("left").replace("px", "")),
posY = e.clientY - Number(Board.css("top").replace("px", ""));
console.log(posX+" : "+posY);
}
$(window).mousedown(mouseListener);
如何在jQuery上正確寫入,以便它能夠像第一個代碼一樣工作?
板[0] [ 'offsetLeft']同樣適用於頂部,也我喜歡.bind();像$(window).bind('mousedown',mouseListener); – guramidev 2014-10-30 16:23:57