Rumah hujung hadapan web tutorial js Ringkasan untuk mendapatkan atribut berkaitan kedudukan tetikus dalam kemahiran JavaScript_javascript

Ringkasan untuk mendapatkan atribut berkaitan kedudukan tetikus dalam kemahiran JavaScript_javascript

May 16, 2016 pm 04:34 PM
javascript harta benda

Javascript tidak mempunyai objek tetikus untuk mendapatkan koordinat tetikus bergantung pada objek acara yang berkuasa.

Dengan memantau pergerakan tetikus dokumen, kita boleh mendapatkan kedudukan tetikus dalam masa nyata.

Tetapi! ! Terdapat terlalu banyak atribut berkaitan tetikus dalam acara itu, yang sangat mengelirukan! Seperti berikut:

event.layerX event.layerY
event.clientX event.clientY
event.pageX event.pageY
event.offsetX event.offsetY
event.screenX event.screenY
event.x event.y

6 kumpulan kesemuanya!

Dan perbezaan antara mereka tidak jelas, dan penyemak imbas tidak serasi!

Tujuan artikel ini adalah untuk menjelaskan perbezaan mereka dan memilih yang tidak disyorkan.

Kod ujian

Jalankan kod berikut secara terus:

Salin kod Kod adalah seperti berikut:



http://www.w3.org/1999/xhtml"> />




badan {kedudukan:relatif;}
div {min-height: 300px; background-color: #eee;}
#jg {kanan: 0; kedudukan atas: 10px;





Tunjukkan hasil


Div dalam skrin

Tinggi dan lebar. . .

div luar skrin




var jg = document.getElementById('jg');
document.onmousemove = fungsi (e) {
e = e ||. window.event;
jg.innerHTML = 'layerX:' e.layerX
',layerY:' e.layerY
',
clientX:' e.clientX
',clientY:' e.clientY
',
pageX:' e.pageX
',halamanY :' e.halamanY
',
offsetX:' e.offsetX
',offsetY:' e.offsetY
',
screenX:' e.screenX
',screenY:' e.screenY
',
x:' e.x
',y:' e.y;
}




Semasa proses ujian, satu artifak ditemui: chrome (pelayar Google) dan IE9 serasi sepenuhnya dengan semua atribut di atas! Ia sangat mudah untuk membandingkan mereka.

Selepas perbandingan, keputusan adalah seperti berikut:

Penjelasan setiap atribut

clientX dan Y ialah koordinat tetikus berbanding dengan port pandangan penyemak imbas (iaitu bahagian di luar bar skrol diabaikan semua pelayar menyokongnya);

ScreenX dan Y ialah koordinat tetikus berbanding bahagian kiri (tepi atas) keseluruhan skrin.

offsetX dan Y ialah koordinat tetikus berbanding objek yang ditunjuk pada masa ini. Jika tetikus menghala ke butang, offsetX adalah relatif kepada butang firefox tidak menyokong

x dan y adalah sama dengan layerX dan Y dalam penyemak imbas standard Ia adalah atribut yang boleh digunakan untuk menggantikan layerX dalam IE

pageX dan Y ialah koordinat tetikus berbanding dengan bahagian kiri (tepi atas) keseluruhan halaman, termasuk yang di luar port pandangan IE7 dan 8 tidak menyokongnya.

Isi penting: layerX dan layerY

LayerX dan Y ialah atribut baharu yang diperkenalkan oleh penyemak imbas standard dan turut disokong oleh IE9. Ia boleh digunakan untuk menggantikan offsetX dan Y. Walau bagaimanapun, ia ditakrifkan sebagai: koordinat unsur terdekat dengan maklumat penentududukan berbanding dengan elemen penunjuk pada masa ini. "dengan kedudukan" ini bermakna terdapat atribut css yang tidak diletakkan secara lalai (iaitu, bukan statik).

Jika elemen yang ditunjuk pada masa ini diposisikan, maka layerX dan Y akan mengembalikan koordinat berbanding elemen ini, jika tidak, semak tag induk elemen ini, jika masih tiada kedudukan, teruskan; —— nod html.

Jadi, dalam Firefox, jika anda mahukan nilai offsetX, anda mesti menambah maklumat kedudukan kedudukan!

Ringkasan keserasian:

1. Firefox tidak menyokong atribut offsetX, offsetY dan x, y, tetapi ia boleh digantikan dengan layerX
2. x dan y dalam ie adalah bersamaan dengan layerX dan layerY dalam firefox&chrome; 3. Terdapat jarak 2px antara sempadan dokumen IE7 dan 8 dan sempadan tetingkap penyemak imbas, jadi apabila tetingkap dimaksimumkan, skrinX minimum ialah 2px
; 4. Walaupun layerX dan Y dalam ie9 mempunyai nilai, ia tidak dapat diterangkan dengan betul. Ia seolah-olah berkaitan dengan tag html Contohnya, dalam kod contoh saya, seret bar skrol ke kanan dan perlahan-lahan gerakkan tetikus ruang kosong ke DIV besar Pada masa ini, perbezaan antara bahagian paling kanan DIV besar dan bahagian paling kanan DIV pertama juga akan dikira ke dalam lapisanX. . . Memandangkan semakin banyak elemen pada akhirnya, pengiraan ini menjadi lebih rumit, bagaimanapun, firefox dan layerX chrome tidak mempunyai masalah ini. Jadi, jangan gunakan layerX dalam IE9.
5. Dalam chrome, walaupun x dan y mempunyai nilai, ia betul-betul sama seperti clientX dan Y! Oleh itu, tidak digalakkan untuk menggunakan atribut x,y.

Pemulihan Keserasian

Dalam pelayar standard, kedudukan dan event.layerX boleh digunakan untuk melaksanakan atribut event.offsetX

Tiada pageX, pageY dalam IE7 dan 8. Anda hanya boleh menggunakan document.documentElement.scrollLeft event.clientX untuk mencarinya.

Jadi, salah satu daripada x, y atau offsetX, offsetY dalam IE boleh dialih keluar.

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk melaksanakan sistem pengecaman pertuturan dalam talian menggunakan WebSocket dan JavaScript Bagaimana untuk melaksanakan sistem pengecaman pertuturan dalam talian menggunakan WebSocket dan JavaScript Dec 17, 2023 pm 02:54 PM

Cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem pengecaman pertuturan dalam talian Pengenalan: Dengan perkembangan teknologi yang berterusan, teknologi pengecaman pertuturan telah menjadi bahagian penting dalam bidang kecerdasan buatan. Sistem pengecaman pertuturan dalam talian berdasarkan WebSocket dan JavaScript mempunyai ciri kependaman rendah, masa nyata dan platform merentas, dan telah menjadi penyelesaian yang digunakan secara meluas. Artikel ini akan memperkenalkan cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem pengecaman pertuturan dalam talian.

WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata Dec 17, 2023 pm 05:30 PM

WebSocket dan JavaScript: Teknologi utama untuk merealisasikan sistem pemantauan masa nyata Pengenalan: Dengan perkembangan pesat teknologi Internet, sistem pemantauan masa nyata telah digunakan secara meluas dalam pelbagai bidang. Salah satu teknologi utama untuk mencapai pemantauan masa nyata ialah gabungan WebSocket dan JavaScript. Artikel ini akan memperkenalkan aplikasi WebSocket dan JavaScript dalam sistem pemantauan masa nyata, memberikan contoh kod dan menerangkan prinsip pelaksanaannya secara terperinci. 1. Teknologi WebSocket

JavaScript dan WebSocket: Membina sistem ramalan cuaca masa nyata yang cekap JavaScript dan WebSocket: Membina sistem ramalan cuaca masa nyata yang cekap Dec 17, 2023 pm 05:13 PM

JavaScript dan WebSocket: Membina sistem ramalan cuaca masa nyata yang cekap Pengenalan: Hari ini, ketepatan ramalan cuaca sangat penting kepada kehidupan harian dan membuat keputusan. Apabila teknologi berkembang, kami boleh menyediakan ramalan cuaca yang lebih tepat dan boleh dipercayai dengan mendapatkan data cuaca dalam masa nyata. Dalam artikel ini, kita akan mempelajari cara menggunakan teknologi JavaScript dan WebSocket untuk membina sistem ramalan cuaca masa nyata yang cekap. Artikel ini akan menunjukkan proses pelaksanaan melalui contoh kod tertentu. Kami

Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Jan 05, 2024 pm 06:08 PM

Tutorial JavaScript: Bagaimana untuk mendapatkan kod status HTTP, contoh kod khusus diperlukan: Dalam pembangunan web, interaksi data dengan pelayan sering terlibat. Apabila berkomunikasi dengan pelayan, kami selalunya perlu mendapatkan kod status HTTP yang dikembalikan untuk menentukan sama ada operasi itu berjaya dan melaksanakan pemprosesan yang sepadan berdasarkan kod status yang berbeza. Artikel ini akan mengajar anda cara menggunakan JavaScript untuk mendapatkan kod status HTTP dan menyediakan beberapa contoh kod praktikal. Menggunakan XMLHttpRequest

Bagaimana untuk mendapatkan kod status HTTP dalam JavaScript dengan cara yang mudah Bagaimana untuk mendapatkan kod status HTTP dalam JavaScript dengan cara yang mudah Jan 05, 2024 pm 01:37 PM

Pengenalan kepada kaedah mendapatkan kod status HTTP dalam JavaScript: Dalam pembangunan bahagian hadapan, kita selalunya perlu berurusan dengan interaksi dengan antara muka bahagian belakang, dan kod status HTTP adalah bahagian yang sangat penting daripadanya. Memahami dan mendapatkan kod status HTTP membantu kami mengendalikan data yang dikembalikan oleh antara muka dengan lebih baik. Artikel ini akan memperkenalkan cara menggunakan JavaScript untuk mendapatkan kod status HTTP dan memberikan contoh kod khusus. 1. Apakah kod status HTTP bermakna kod status HTTP apabila penyemak imbas memulakan permintaan kepada pelayan, perkhidmatan tersebut

Pengenalan kepada sifat-sifat Benang Keputusasaan Hearthstone Pengenalan kepada sifat-sifat Benang Keputusasaan Hearthstone Mar 20, 2024 pm 10:36 PM

Thread of Despair ialah kad yang jarang ditemui dalam karya agung Blizzard Entertainment "Hearthstone" dan berpeluang untuk diperolehi dalam pek kad "Wizbane's Workshop". Boleh menggunakan 100/400 mata habuk misteri untuk mensintesis versi biasa/emas. Pengenalan kepada sifat-sifat Thread of Despair Hearthstone: Ia boleh diperolehi dalam pek kad bengkel Wizbane dengan peluang, atau ia juga boleh disintesis melalui habuk misteri. Jarang: Jenis Jarang: Kelas Ejaan: Death Knight Mana: 1 Kesan: Memberi semua minion Deathrattle: Menawarkan 1 kerosakan kepada semua minion

sintaks atribut bawah dalam CSS sintaks atribut bawah dalam CSS Feb 21, 2024 pm 03:30 PM

Contoh sintaks atribut dan kod bawah dalam CSS Dalam CSS, atribut bawah digunakan untuk menentukan jarak antara elemen dan bahagian bawah bekas. Ia mengawal kedudukan elemen berbanding bahagian bawah elemen induknya. Sintaks atribut bawah adalah seperti berikut: elemen{bottom:value;} dengan elemen mewakili elemen yang gaya akan digunakan dan nilai mewakili nilai bawah yang akan ditetapkan. nilai boleh menjadi nilai panjang tertentu, seperti piksel

Bagaimana untuk mengetahui sama ada elemen jQuery mempunyai atribut tertentu? Bagaimana untuk mengetahui sama ada elemen jQuery mempunyai atribut tertentu? Feb 29, 2024 am 09:03 AM

Bagaimana untuk mengetahui sama ada elemen jQuery mempunyai atribut tertentu? Apabila menggunakan jQuery untuk mengendalikan elemen DOM, anda sering menghadapi situasi di mana anda perlu menentukan sama ada sesuatu elemen mempunyai atribut tertentu. Dalam kes ini, kita boleh melaksanakan fungsi ini dengan mudah dengan bantuan kaedah yang disediakan oleh jQuery. Berikut akan memperkenalkan dua kaedah yang biasa digunakan untuk menentukan sama ada elemen jQuery mempunyai atribut khusus, dan melampirkan contoh kod tertentu. Kaedah 1: Gunakan kaedah attr() dan operator jenis // untuk menentukan sama ada elemen mempunyai atribut tertentu

See all articles