-
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
-
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
- Luck Dragon: Asszociációs játék. :)
- Okos Otthon / Smart Home
- Meghalt a Windows 10, éljen a Windows 10!
- Elektromos autók - motorok
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Lalikiraly: Kinek milyen setupja van?
- Formula-1
- Gaming notebook topik
- OTP Bank topic
- Rezsicsökkentés, spórolás (fűtés, szigetelés, stb.)
- További aktív témák...
- ASUS VZ24EHE 1080p / 75Hz / 60cm (23,8") IPS /1ms válaszidő / Gamer funkciók / FreeSync
- MSI MECH 2X RX 6600 XT - eladó!
- Újszerű Topping D10s - USB DAC 32bit 384KHz DSD256
- PCLab Pro P-689 Ryzen 7 9700x / 32GB DDR5 / RTX 5070 - halk, prémium 1440p/4K gamer PC
- 2019 MacBook Pro 16" i9 Radeon Pro 5500M 4gb 32gb RAM 1TB SSD eladó!
- GYÖNYÖRŰ iPhone 15 Plus 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3355, 100% Akkumulátor
- Honor X6a 128GB, Kártyafüggetlen, 1 Év Garanciával
- Game Pass Ultimate előfizetés azonnal, problémamentesen, méghozzá OLCSÓN! Immáron 8 éve!
- GYÖNYÖRŰ iPhone 12 Pro 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3280, 100% akkumulátor
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3318
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest