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!