Jquery kattintson a külső elemre
Blog / jQuery / jQuery: Elem lezárása a területén kívül (az elemen kívül)
Ha el kell rejteni (bezárni) az elemet egy kattanáson kívül? Az első dolog, ami eszembe jut, az előugró ablakok és a legördülő menük. Nyilvánvaló, hogy az alkalmazás sokkal szélesebb lehet.
Fogadja meg, hogy sokkal kényelmesebb az ablak felnyíló ablakának bezárása úgy, hogy rájuk kattint, majd húzza az egérmutatót a keresztre, és kattintson rá. Egyes esetekben egy keresztet egyáltalán nem használunk (legördülő egyedi beállítások vagy menük).
És igen, amint az emberek nem sámánok! Az interneten hozott döntések teljesek, de nem lehetnek optimálisak. Ezek közül a leggyakoribb, amikor a szkript ellenőrzi, hogy az egérmutató túl van-e az elemen, vagy sem.
Nos, miért bonyolítja a kódot?
Bár valójában a válasz valóban nyilvánvaló - a fejlesztők nem tudják, hogy mi lehet helyesen és könnyebben elvégezhető, és mindent megtesznek. Elemezzük az algoritmust:
- Van egy pop-up ablakunk, egy menü vagy valami más.
- Szükségünk van arra, hogy ne csak egy tőr (ha van), hanem egy olyan kattintás is záruljon le, amely valahol a határain túl van.
- Szükségünk van tehát az eseményre, amikor "kattanás történt az oldalra".
- Ebben az esetben két feltételt kell hozzáadnia: "Ha a kattintás nem szerepelt a tételünkben" és "Ha a kattintás nem szerepel a tétel elemeiben".
- Ha mindkét feltétel teljesül, elrejti az elemet.
Egyszerűbb, a jQuery kód lesz: