Tôi cố gắng để có được vị trí chuột liên quan đến một yếu tố bằng cách sử dụng mousemove. Nó hoạt động tốt, nhưng khi con chuột di chuột qua một phần tử con, các tọa độ có liên quan đến đứa trẻ này. Tôi muốn vị trí chuột liên quan đến div cha mẹ, không phải là con. Ví dụ:Bỏ qua các phần tử con trên mousemove
Xem this JSFiddle.
var object = document.getElementsByClassName('object'),
scene = document.getElementById('scene');
function initMove() {
for(var i=0; i<object.length; i++) {
object[i].addEventListener("mousemove", function(event) {
//event.stopPropagation();
return false;
}, false);
}
scene.addEventListener("mousemove", function (event) {
//event.stopPropagation();
//event.currentTarget;
moveX = event.offsetX;
moveY = event.offsetY;
console.log(moveX + ' + ' + moveY);
}, false);
}
function init() {
initMove();
document.onselectstart = function(){ return false; }
};
init();
Bổ sung event.stopPropagation()
khi trẻ không trả lại dữ liệu. Và tôi không chắc chắn cách hoạt động của event.currentTarget
.
Tôi không thể sử dụng con trỏ chuột hoặc mọi con chuột khác chỉ kiểm soát, bởi vì tôi muốn điều này được liên lạc thân thiện (bằng cách thay thế mousemove bằng touchmove).
Bất kỳ ý tưởng nào?
tọa độ chuột phải tương ứng với div chính, không phải là trang. Tôi nghĩ event.offsetX là cách hợp lệ duy nhất để có được tọa độ trong trường hợp này là – Julian
, nếu bạn trừ đi phần bù của div chính. Tôi đang làm việc trên một fiddle. Đợi tí. – danijar
Cảm ơn nhưng nó không trả lời câu hỏi của tôi. Trong ví dụ của bạn, vị trí con được cập nhật với vị trí chuột liên quan đến div cha, nó không phải là những gì tôi muốn. Tôi chỉ muốn có được vị trí chuột tương đối so với div cha mẹ ngay cả khi con chuột di chuột lên một đứa trẻ (như nếu đứa trẻ không tồn tại). – Julian