Hirdetés
Köszönjük a sok biztatást, támogatást! Utolsó pillanat a féláras hirdetésfeladásra, előfizetésre!
-
Mobilarena
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
-
Sk8erPeter
nagyúr
válasz
wolandino #2399 üzenetére
Hmm, mondjuk sztem azért, mert előbb így írtam:
$(":input").on("click", function () {
// ...
});
viszont ide nem írtam selectort, az utóbbiba már igen:
jQuery("body").on("click", ":input", function () {
// ...
});Ja, amúgy jótanács, amivel időt spórolhatsz: ha van egy új kód, amit előbb tesztelni akarsz, úgy, hogy egyből lásd a hatását (egyáltalán jó-e, amit csináltál), anélkül, hogy fájlba kéne mentegetni, majd frissítgetni (olykor Ctrl+F5 nyomogatásával, hogy ne cache-ből kotorja elő), akkor pl. Chrome-ban nyomj egy F12-t vagy Ctrl+Shift+I-t, aztán kattints a konzol fülre, és ide egyből másold be az új kódodat, majd nyomj egy Entert, és itt általában egyből látható, működik-e a kód, vagy van valami szintaktikai vagy egyéb hiba. Ha itt írod meg a többsoros kódot (én is szoktam), akkor Shift+Enterrel tudsz sortörést belerakni, a normál Enter egyből elküldi.
-
Sk8erPeter
nagyúr
válasz
wolandino #2397 üzenetére
Szívesen!
.on()-nal akkor nyilván azért nem működött, mert az csak újabb jQuery-ben van; .delegate()-tel meg gondolom azért nem, mert nem nézted meg rendesen a meghívásának módját.
Elég hülye módon fel van cserélve a .live()-hoz képest:
tehát ez:
jQuery("body").on("click", ":input", function () {
// ...
});megfelel ennek:
jQuery("body").delegate(":input", "click", function () {
// ...
});.live()-val:
jQuery("body").live( "click", ":input", function () {
// ...
}); -
Sk8erPeter
nagyúr
válasz
wolandino #2394 üzenetére
Akkor próbáld meg azt, hogy így átírod:
$(":input").click(function () {
// ...
}HELYETT
$(":input").on("click", function () {
// ...
});Fontos: az .on() függvény a jQuery 1.7-es verziójától él.
Ez jól összefoglalja a változásokat:
$(selector).live(events, data, handler); // jQuery 1.3+
$(document).delegate(selector, events, data, handler); // jQuery 1.4.3+
$(document).on(events, selector, data, handler); // jQuery 1.7+ -
Sk8erPeter
nagyúr
válasz
wolandino #2392 üzenetére
Akkor fordulhat elő ilyen, ha
1.) több HTML-elemnek ugyanaz az id-je (kerülendő)
2.) dinamikusan hozzáadott elemek id-jára hivatkozva kötsz az adott elemre eseménykezelőket, ilyenre való az .on() függvény (korábban .delegate(), .live(); ennek lényege, hogy jövőben várhatóan létrejövő elemekre is tudsz eseménykezelőket kötni).
3.) szintaktikai hiba
4.) ..... stb.Ha konkretizálod a példát úgy, hogy egy leegyszerűsített változatot felraksz jsfiddle-re, konkrétabban is fogunk tudni segíteni.
Új hozzászólás Aktív témák
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Melyik tápegységet vegyem?
- iPhone topik
- Anglia - élmények, tapasztalatok
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Milyen okostelefont vegyek?
- TCL LCD és LED TV-k
- Genshin Impact (PC, PS4, Android, iOS)
- MIUI / HyperOS topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- További aktív témák...
- Ohh Lenovo ThinkPad P15 G2 Tervező Vágó Laptop -75% 15,6" i5-11500H 32/1TB RTX A2000 4GB /1 Millió/
- Uhh Lenovo ThinkPad P15 G2 Tervező Vágó Laptop -75% 15,6" i5-11500H 16/1TB RTX A2000 4GB /1 Millió/
- Call of Duty WW2 PS4 játék
- Eladó Konfig I5-10400F 32GB DDR4 256GB SSD 1TB HDD RX6600 8GB!
- Samsung Galaxy S24 Ultra 12/256gb - Karc mentes, akár beszámítással
- Beszámítás! Apple iPad Pro 11 2024 1TB WiFi + Cellular tablet garanciával hibátlan működéssel
- 2 TB-os Kingston NV3 M.2 SSD - 6000 MB/s olvasás
- Targus Universal USB 3.0 DV1K-2K Compact docking station (DisplayLink)
- Laptop felvásárlás , egy darab, több darab, új , használt ! Korrekt áron !
- Bomba ár! HP ProBook 440 G6 - i5-8GEN I 8GB I 256SSD I HDMI I 14" FHD I Cam I W10 I Gari!
Állásajánlatok
Cég: FOTC
Város: Budapest