Trong javascript, trong trình xử lý sự kiện javascript cho onMouseMove, làm thế nào để có được vị trí chuột trong x, y điều chỉnh tương đối so với đầu trang?onMouseMove có vị trí chuột
Trả lời
nếu bạn có thể sử dụng jQuery, sau đó this sẽ giúp:
<div id="divA" style="width:100px;height:100px;clear:both;"></div>
<span></span><span></span>
<script>
$("#divA").mousemove(function(e){
var pageCoords = "(" + e.pageX + ", " + e.pageY + ")";
var clientCoords = "(" + e.clientX + ", " + e.clientY + ")";
$("span:first").text("(e.pageX, e.pageY) - " + pageCoords);
$("span:last").text("(e.clientX, e.clientY) - " + clientCoords);
});
</script>
đây chỉ là javascript tinh khiết dụ:
var tempX = 0;
var tempY = 0;
function getMouseXY(e) {
if (IE) { // grab the x-y pos.s if browser is IE
tempX = event.clientX + document.body.scrollLeft;
tempY = event.clientY + document.body.scrollTop;
}
else { // grab the x-y pos.s if browser is NS
tempX = e.pageX;
tempY = e.pageY;
}
if (tempX < 0){tempX = 0;}
if (tempY < 0){tempY = 0;}
document.Show.MouseX.value = tempX;//MouseX is textbox
document.Show.MouseY.value = tempY;//MouseY is textbox
return true;
}
hmm, ví dụ js có vẻ rất giống với http: // www.codelifter.com/main/javascript/capturemouseposition1.html ngoại trừ không có các nhận xét tiện dụng – RozzA
'id =" # divA "' và '$ (" divA ")' - ai đó đang ngủ khi viết bài này – RozzA
@RozzA cảm ơn vì đã chú ý. – TheVillageIdiot
Đặc biệt với sự kiện MouseMove, đó lửa nhanh và tức giận, tốt đẹp của nó để giảm bớt các trình xử lý trước khi bạn sử dụng chúng-
var whereAt= (function(){
if(window.pageXOffset!= undefined){
return function(ev){
return [ev.clientX+window.pageXOffset,
ev.clientY+window.pageYOffset];
}
}
else return function(){
var ev= window.event,
d= document.documentElement, b= document.body;
return [ev.clientX+d.scrollLeft+ b.scrollLeft,
ev.clientY+d.scrollTop+ b.scrollTop];
}
})()
document.ondblclick = function (e) {alert (trong đóAt (e))};
Có thể hơi quá mức để sử dụng d3.js chỉ để tìm tọa độ chuột, nhưng chúng có chức năng rất hữu ích được gọi là d3.mouse(*container*)
. Dưới đây là một ví dụ về làm những gì bạn muốn làm:
var coordinates = [0,0];
d3.select('html') // Selects the 'html' element
.on('mousemove', function()
{
coordinates = d3.mouse(this); // Gets the mouse coordinates with respect to
// the top of the page (because I selected
// 'html')
});
Trong trường hợp trên, các tọa độ x sẽ coordinates[0]
, và y phối hợp sẽ coordinates[1]
. Điều này cực kỳ tiện lợi, vì bạn có thể nhận tọa độ chuột đối với bất kỳ vùng chứa nào bạn muốn bằng cách trao đổi 'html'
với thẻ (ví dụ: 'body'
), tên lớp (ví dụ: '.class_name'
) hoặc id (ví dụ: '#element_id'
).
+1, nhưng ** Cảnh báo công bằng **: Cách tiếp cận này hơi quá chậm chạp để sử dụng chống lại 'onmousemove'. Tôi đã có d3.js trong dự án của tôi vì vậy tôi đã thử nó, nhưng nó chỉ là không đủ cho trường hợp sử dụng của tôi. – elrobis
này là cố gắng và làm việc tại tất cả các trình duyệt:
function getMousePos(e) {
return {x:e.clientX,y:e.clientY};
}
Bây giờ bạn có thể sử dụng nó trong một sự kiện như thế này:
document.onmousemove=function(e) {
var mousecoords = getMousePos(e);
alert(mousecoords.x);alert(mousecoords.y);
};
- 1. Đặt vị trí chuột
- 2. Đặt vị trí chuột không có System.Windows.Forms
- 3. Chuột vị trí trong D3
- 4. Vị trí chuột trong java
- 5. Vị trí Chuột C# XNA
- 6. Di chuyển chuột đến vị trí và nhấp chuột trái
- 7. Nhận vị trí chuột trong khi di chuột xuống?
- 8. Nhận vị trí chuột trong div?
- 9. addGlobalMonitorForEventsMatchingMask chỉ trả lại vị trí chuột
- 10. Nhận vị trí chuột trong div có thể cuộn
- 11. vị div tương ứng với vị trí chuột
- 12. Trong một Lưới WPF, làm thế nào tôi có thể tìm thấy Hàng & Cột tại vị trí chuột?
- 13. Lấy vị trí/nút bấm chuột vào sự kiện DoubleClick
- 14. Nhận vị trí ngón tay trên bàn di chuột
- 15. Vị trí chuột "toàn cầu" trong Mac OS X
- 16. nhận vị trí chuột với javascript trong canvas
- 17. vị trí chuột jquery tương đối cửa sổ
- 18. Thay đổi vị trí chuột khi hộp xem được thêm
- 19. Lấy vị trí chuột trong khi kéo và thả
- 20. Câu hỏi JSlider: Vị trí sau khi nhấp chuột trái
- 21. chụp vị trí chuột trên setInterval() trong Javascript
- 22. Phát hiện vị trí chuột tương đối trên vải matplotlib
- 23. onmousemove Event Not Firing
- 24. cách nhận vị trí nhấp chuột trong onClickListener?
- 25. jQuery - Nhận vị trí chuột trong khi kéo liên kết
- 26. JScrollPane - Thu phóng tương đối so với vị trí chuột
- 27. Hiển thị vị trí chuột x và y với javascript
- 28. Chuột vị trí - tương thích trình duyệt chéo - Javascript
- 29. Tìm vị trí/Vị trí của JFrame trong cửa sổ
- 30. CSS: Vị trí và kích thước hình ảnh thay đổi di chuột di chuột
thể trùng lặp của [Làm thế nào để có được vị trí chuột trong jQuery mà không cần chuột -events?] (http://stackoverflow.com/questions/4517198/how-to-get-mouse-position-in-jquery-without-mouse-events) – Lucio