Saya ingin mendapatkan posisi mouse saat ini tetapi saya tidak ingin menggunakan:
$(document).bind('mousemove',function(e){
$("#log").text("e.pageX: " + e.pageX + ", e.pageY: " + e.pageY);
});
karena saya hanya perlu mendapatkan posisi dan memproses informasinya
Jawaban:
Saya tidak percaya ada cara untuk menanyakan posisi mouse, tetapi Anda dapat menggunakan
mousemove
penangan yang hanya menyimpan informasi, sehingga Anda dapat menanyakan informasi yang disimpan.Tetapi hampir semua kode, selain
setTimeout
kode dan semacamnya, berjalan sebagai respons terhadap suatu peristiwa, dan sebagian besar peristiwa menyediakan posisi mouse. Jadi kode Anda yang perlu mengetahui di mana mouse mungkin sudah memiliki akses ke informasi itu ...sumber
$(window).load(function(e){ console.log(e.pageX,e.pageY); });
mengembalikan undefined untuk posisi mouseAnda tidak dapat membaca posisi mouse di jQuery tanpa menggunakan acara. Perhatikan pertama-tama bahwa properti
event.pageX
danevent.pageY
ada di acara apa pun, jadi Anda dapat melakukan:Pilihan Anda yang lain adalah menggunakan closure untuk memberikan seluruh kode Anda akses ke variabel yang diperbarui oleh mousemove handler:
sumber
Saya menggunakan metode ini:
Dengan cara ini saya akan selalu memiliki jarak dari atas yang disimpan dalam y dan jarak dari kiri disimpan dalam x.
sumber
Selain itu,
mousemove
peristiwa tidak dipicu jika Anda melakukan drag'n'drop melalui jendela browser. Untuk melacak koordinat mouse selama drag'n'drop Anda harus melampirkan handler untukdocument.ondragover
event dan menggunakan properti originalEventnya.Contoh:
sumber
penggunaan
window.event
- mengandung terakhirevent
dan sebagai salahevent
mengandungpageX
,pageY
dll Pekerjaan untuk Chrome, Safari, IE tapi tidak FF.sumber
Buat eventListener pada objek utama, dalam kasus saya objek dokumen, untuk mendapatkan mouse coords setiap frame dan menyimpannya dalam variabel global, dan seperti itu Anda dapat membaca mouse Y & Z kapan pun Anda suka, di mana pun Anda suka.
sumber
Saya menemukan ini, tapi alangkah baiknya untuk berbagi ...
apa yang kalian pikirkan?
dan boom, itu dia ..
sumber