5

Tôi không thể tìm cách để có được tọa độ của sự kiện trong IE8, nó chỉ kích hoạt các lỗi như ... pageX undefined, clientX undefined vv Trong khi nó hoạt động tìm thấy trong các trình duyệt khác.Javascript: tọa độ sự kiện IE8

Đây là những gì tôi đang cố gắng để làm:

document.onmousemove=setcoord; 

function setcoord(e){ 
    var xxcoord = e.pageX||(e.clientX+document.body.scrollLeft); 
    var yycoord = e.pageY||(e.clientY+document.body.scrollTop); 
} 

Có workaround để nhận được rằng vị trí chuột ..

Trả lời

7

Sau đây dường như làm việc?. Tôi không chắc đó là cách thích hợp để thực hiện việc này:

var x=event.clientX; 
var y=event.clientY; 
+2

Điều này là chính xác. Giải thích: Trước IE 9, Microsoft đã không triển khai mô hình sự kiện DOM W3. Thay vào đó, họ đã sử dụng một mô hình sự kiện độc quyền: Trình lắng nghe sự kiện không nhận được bất kỳ đối số nào; bất kỳ thuộc tính liên quan đến sự kiện nào được định nghĩa trên đối tượng 'event' toàn cục. Một giải pháp chung là thêm 'e = e || window.event; 'ở đầu trình xử lý sự kiện. –

+2

Cảm ơn, tôi nghĩ rằng tôi nhận được nó ngay bây giờ, vẫn còn một vấn đề với rằng mặc dù đó là e.clientX không tài khoản cho di chuyển và document.body.scrollLeft dường như không làm việc trong IE hoặc ... Tôi có nghĩa là nếu Tôi cuộn cửa sổ nó khiến tôi không phải là các coords tuyệt đối nhưng liên quan đến khung nhìn. – Anonymous

+0

aight, documentElement dường như hoạt động. :) EDIT: ** NHƯNG ** nó không hoạt động trong chrome bây giờ ... oh noes .. – Anonymous

Các vấn đề liên quan