Rumah >hujung hadapan web >tutorial css >Bagaimanakah Saya Boleh Mencegah Peristiwa `onmouseout` Pramatang pada Div yang Diposisikan Benar-Benar dengan Elemen Kanak-kanak?

Bagaimanakah Saya Boleh Mencegah Peristiwa `onmouseout` Pramatang pada Div yang Diposisikan Benar-Benar dengan Elemen Kanak-kanak?

Barbara Streisand
Barbara Streisandasal
2024-12-02 16:46:121021semak imbas

How Can I Prevent Premature `onmouseout` Events on Absolutely Positioned Divs with Child Elements?

Halang Peristiwa Tetikus Apabila Melayangkan Elemen Anak Div ​​Mutlak

Masalah:

Apabila melayang di atas elemen kanak-kanak dalam div yang diposisikan secara mutlak, peristiwa onmouseout untuk div dicetuskan lebih awal. Ini berlaku kerana peristiwa menggelegak, di mana peristiwa elemen kanak-kanak merambat ke elemen induknya.

Penyelesaian: Tanpa jQuery

Untuk mengelakkan acara onmouseout daripada menembak apabila melayang elemen kanak-kanak , sebaliknya gunakan acara onmouseleave. Berikut ialah contoh:

<div class="outer" onmouseleave="yourFunction()">
    <div class="inner">
    </div>
</div>

Penyelesaian: Dengan jQuery

jQuery menyediakan acara mouseleave(), yang mencapai fungsi yang sama:

$(".outer").mouseleave(function(){
    //your code here
});

Cara ia Berfungsi:

acara onmouseleave hanya tercetus apabila tetikus meninggalkan elemen yang ditentukan. Dengan menggunakan acara ini pada div induk, ia memastikan acara keluar tetikus hanya akan menyala apabila tetikus keluar sepenuhnya dari div, walaupun ia menuding di atas elemen kanak-kanak.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencegah Peristiwa `onmouseout` Pramatang pada Div yang Diposisikan Benar-Benar dengan Elemen Kanak-kanak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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