-
Fototrend
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Taci
addikt
Annyira haladtam a témában, hogy valamiért a
keyup-ot nem szereti, viszont akeydown-nal és akeypress-szel nincs baja. (Fórumbejegyzésekben találtam ezt az infót, kipróbáltam, és valóban.)Viszont azért használtam keyup-ot, mert az esemény után figyeltem, hogy változik-e a keresőmező tartalma (nem-e marad üres), és ha karatert ír be a user (tehát nem csak belekattint, és nyom egy shift-et), akkor megjelenik a mező törlése gomb.
var elementMainSearch = document.getElementById("mainSearch");elementMainSearch.addEventListener("keyup", function(event) {var elementMainSearchValue = elementMainSearch.elements[0].value;console.log('elementMainSearchValue: ' + elementMainSearchValue);if (elementMainSearchValue != ""){//törlés gomb megjelenítése}}Így ha beírtam, hogy
q, akkor a konzolba kiírta, hogyelementMainSearchValue: q, és megjelent a törlés gomb.Viszont így, hogy Safarival ez valamiért nem működik, muszáj vagyok keydown-ra vagy keypress-re cserélni a keyup-ot.
Ezekkel viszont az a baj, hogy az eventjük után még nem változik a keresőmező tartalma.
Tehát a fenti kód keydown-nal vagy keypress-szel ezeket az eredményeket adja:q--> elementMainSearchValue:qw--> elementMainSearchValue:qqwe--> elementMainSearchValue:qw
stb.Így ha csak 1 karaktert ír be a user a keresőmezőbe, nem lesz aktív a gomb, mert kell mellé még egy leütés.
Hogyan tudom szerintetek ezt megoldani?
Akár más struktúrával is. (Elindultam a beírt keycode-ok vizsgálatával (Ctrl - 17, Shift - 16, Tab - 9, Enter/Return - 13, Option - 18, Command - 91 stb.), de ott túl sokat kell lekezelni (minden gombot, ami szám vagy betű), az a megoldás nem tetszik.)UPD.:
Azinputevent lesz a jó, úgy látom.
Új hozzászólás Aktív témák
- MacBook PRO M1 13" 2020, 256GB, 8GB RAM, TouchBar, 90% AKKU
- BESZÁMÍTÁS! GIGABYTE B760M i5 13600K 32GB DDR4 1TB SSD RTX 4070 Super 12GB Lian Li Vector V100R 650W
- BESZÁMÍTÁS! MSI B550M R7 5700X 32GB DDR4 1TB SSD RTX 4070 12GB Lian Li Vector V100R FSP 650W
- Apple MacBook Pro 16 M4 Pro 48GB / 512GB SSD - AppleCare+ 2027.02.20-ig, megújítható
- Gamer PC , i5 10400F , RX 6600 XT , 16GB DDR4 , 512GB NVME , 1TB HDD
- ÚJ 15" Microsoft Surface Laptop 7 X Elite 16GB 1TB
- ÚJ Lenovo ThinkPad L14 G6 - 14"WUXGA - Ultra 5 225U - 16GB - 512GB - Win11 P - 3 + év gyári garancia
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4266
- LG 32GS94UX - 32" OLED / UHD 4K / 240Hz - 480Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
