• Inloggen
  • Registreer
  • Zoeken
Dit topic
  • Overal
  • Dit topic
  • Dit forum
  • Artikelen
  • Pagina's
  • Forum
  • Downloads
  • Meer opties

ICTscripters

Dé plek voor IT

Dé plek voor IT

Aanmelden

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. Javascript + Ajax

Forum

  • Port Father: beta van een browsergame in Antwerpen 1931, feedback welkom

    Syntax 14 oktober 2026 om 16:04
  • Maffia Hotel: een browsergame waarin je van lobbygast naar spil van het hotel groeit

    Luc 13 oktober 2026 om 21:31
  • Crime Club volledig herschreven vanaf nul

    frio 13 oktober 2026 om 16:52
  • Herkent deze Notion-structuurscan echte problemen?

    FreelanceAP 6 oktober 2026 om 16:48
  • 🚀 WE ZOEKEN TESTERS! 🚀

    Servertjee 3 oktober 2026 om 10:56
  • Luchtvaartsoftware: Hoe technologie de moderne luchtvaart verandert

    saggy2829 30 september 2026 om 19:31
  • Hoe gebruiken jullie WhatsApp voor marketing en klantopvolging?

    aiqanobzfsej5 29 september 2026 om 12:55
  • [PROJECT] Gamekeuring.nl - Hét onafhankelijke keuringsplatform voor maffiagames & RPG's!

    frio 22 september 2026 om 16:40

Marktplaats

  • [TE KOOP] Likeboost24.nl: complete SMM-webshop met eigen merk, volautomatische levering en betalen op de eigen pagina

    frio 14 oktober 2026 om 15:06
  • Te koop: TuinKlussen.be, een kant-en-klaar platform voor tuinklussen in Vlaanderen en Brussel

    frio 13 oktober 2026 om 21:08
  • Te koop: Port Father, afgewerkt online maffiaspel in PHP/MySQL, klaar voor de Play Store

    frio 11 oktober 2026 om 14:02

Vanilla Javascript equivalent voor jQuery

  • MiCa
  • 6 oktober 2020 om 11:21
  • MiCa
    Beginner
    Berichten
    34
    • 6 oktober 2020 om 11:21
    • #1

    Beste leden,

    Het internet afgelopen dagen al aardig wat zitten doorzoeken en al veel jquery kunnen ombouwen.
    Loop helaas vast bij 1 bepaalde jquery call:

    Code
    $( document ).on( "evt", "elem", function(e) {
    });

    Dit stukje jQuery luistert naar alle 'evt' events op het element 'elem' OOK wanneer er nieuwe content met dezelfde evt listener werd ingeladen na de initiële pageload.
    Met vanilla javascript zou dit de oplossing moeten zijn volgens enkele bronnen maar helaas werkt het alleen voor alle het eerste elementen reeds aanwezig in de initiële pageload verder zal het geen rekening meer houden met nieuwe dynamisch ingeladen inhoud. Iemand die hiervoor een oplossing kent?


    Code
    document.querySelector("elem").addEventListener("evt", function(e){
    });

    Om meerdere listeners op 1 evt en element te bekomen dien je querySelectorAll te gebruiken en dan de .forEach()

    Ook al verschillende helper stukjes code geprobeerd zoals deze zonder succes helaas:


    Code
    const on = (el, evt, sel, handler) => {
      el.addEventListener(evt, function(event) {
        var t = event.target;
        while (t && t !== this) {
            if (t.matches(sel)) {
                handler.call(t, event);
            }
            t = t.parentNode;
        }
      });
    }
    on(document, 'submit', 'form.ajaxForm', function(e) {
    });
    Meer tonen


    Uiteindelijke doel:
    Alle dynamisch ingeladen inhoud met eerder gespecifieerde evt listeners via jQuery werkend kunnen krijgen zonder jQuery en zonder de evt listener zelf te moeten her-initialiseren na dynamische inhoud in te laden. Werkt uitstekend met de lijntjes in het eerste code blokje maar dan ook incl jQuery lib.


    Alvast bedankt en vriendelijke groeten
    Michael

    MiCa - Basketbal <3

    Bewerkt 2 keer, laatst door MiCa (6 oktober 2020 om 14:50).

  • Gast, wil je besparen op je domeinnamen? (ad)
  • MiCa
    Beginner
    Berichten
    34
    • 6 oktober 2020 om 14:46
    • #2

    Het spijt me ik werd waarschijnlijk misleid door browsercache wat ik betwijfel maar het lijkt erop dat de laatste code snipet het wel doet!

    MiCa - Basketbal <3

  • darkshifty
    Leerling
    Berichten
    91
    • 6 oktober 2020 om 16:43
    • #3

    Dit is wel een handige repo die mij heeft geholpen om van jQuery af te komen: https://github.com/nefe/You-Dont-Need-jQuery

  • FangorN
    Professional
    Artikelen
    2
    Berichten
    737
    • 6 oktober 2020 om 22:08
    • #4

    Wat is er mis met jQuery though? Deze lib helpt je ook met cross browser compatibiliteit etc.
    Vanwaar de aversie voor jQuery?

  • MiCa
    Beginner
    Berichten
    34
    • 7 oktober 2020 om 22:26
    • #5
    Citaat van FangorN

    Wat is er mis met jQuery though? Deze lib helpt je ook met cross browser compatibiliteit etc.
    Vanwaar de aversie voor jQuery?

    Experimenteren en kijken of ik eventueel geen klein js frameworkje kan schrijven op voorbereiding voor bootstrao 5 projecten. Ga zeker jQuery niet verwaarlozen, beetje onmogelijk althans voor de nabije toekomst. Enorm benieuwd ook naar verdere ontwikkelingen in jQuery zelf ben althans enorm bli dat support enorm is online en het core team blijft streven naar betere versies!

    MiCa - Basketbal <3

  • darkshifty
    Leerling
    Berichten
    91
    • 8 oktober 2020 om 08:57
    • #6
    Citaat van FangorN

    Wat is er mis met jQuery though? Deze lib helpt je ook met cross browser compatibiliteit etc.
    Vanwaar de aversie voor jQuery?

    jQuery heeft ons allemaal opgevoed en heeft Javascript naar een hoger niveau gebracht, maar helaas zijn er nu zo veel legacy projecten waarvan libraries niet meer up to date gehouden worden dat er onmogelijke situaties voordoen, vaak waar bepaalde functionaliteit gewoonweg niet meer werkt door verschillende browsers en versie conflicten. Ik heb jaren met zo een legacy project gewerkt, wat je constant doet is jQuery vervangen met plain javascript waarna het volgende jQuery probleem zich al aanbied. Ik volg nu de standaarden van Ecmascript en maintainability is daarmee voor mij enorm vereenvoudigd. Plain javascript, is a bliss.

    ps. over frameworks gesproken, probeer je eens te verdiepen in Vue, je wil daarna niet meer terug naar jQuery.

  • FangorN
    Professional
    Artikelen
    2
    Berichten
    737
    • 8 oktober 2020 om 17:08
    • #7

    Maar alle software heeft een houdbaarheidsdatum en is onderhevig aan veroudering.

    Indien projecten niet worden bijgewerkt en op den duur niet meer werken kun je niet echt de schuld (uitsluitend) in de schoenen schuiven van de gebruikte techniek(en), de oorzaak daarvan ligt dan toch echt ergens anders ;).

    (edit: ah, ik zie wat je bedoelt, aanverwante libs die gebruik maken van jQuery maar op een gegeven moment niet meer compatibel zijn, maar dat is in zekere zin nog steeds een onderhoudsprobleem, en niet zozeer een inherent jQuery-probleem; het creëert natuurlijk wel een afhankelijkheid en die kan onhandig zijn inderdaad; streven naar minder afhankelijkheid is meestal goed)

    Neemt niet weg dat je best je horizon mag verbreden, jQuery is een oplossing, en niet per definitie dé oplossing.

  • darkshifty
    Leerling
    Berichten
    91
    • 8 oktober 2020 om 19:23
    • #8
    Citaat van FangorN

    Maar alle software heeft een houdbaarheidsdatum en is onderhevig aan veroudering.

    Indien projecten niet worden bijgewerkt en op den duur niet meer werken kun je niet echt de schuld (uitsluitend) in de schoenen schuiven van de gebruikte techniek(en), de oorzaak daarvan ligt dan toch echt ergens anders ;).

    (edit: ah, ik zie wat je bedoelt, aanverwante libs die gebruik maken van jQuery maar op een gegeven moment niet meer compatibel zijn, maar dat is in zekere zin nog steeds een onderhoudsprobleem, en niet zozeer een inherent jQuery-probleem; het creëert natuurlijk wel een afhankelijkheid en die kan onhandig zijn inderdaad; streven naar minder afhankelijkheid is meestal goed)

    Neemt niet weg dat je best je horizon mag verbreden, jQuery is een oplossing, en niet per definitie dé oplossing.

    Eens, jQuery is zeker zo slecht nog niet. Al is het framework zeer gevoelig voor verkeerd gebruik, waardoor het inderdaad heel veel verkeerd geimplementeerd is en wordt. jQuery is fijn in kleine projectjes, jQuery libraries zou ik al niet aan beginnen.

  • MiCa
    Beginner
    Berichten
    34
    • 11 oktober 2020 om 11:03
    • #9
    Citaat van darkshifty

    Eens, jQuery is zeker zo slecht nog niet. Al is het framework zeer gevoelig voor verkeerd gebruik, waardoor het inderdaad heel veel verkeerd geimplementeerd is en wordt. jQuery is fijn in kleine projectjes, jQuery libraries zou ik al niet aan beginnen.

    Ik zelf vermeid zoveel mogelijk 3rd party libs maar de addon libraries van jQuery zelf zoals bv UI of Mobile die vind ik absoluut wel cruciaal in sommige projecten. Bij mij is het net voor m'n kleinere projecten dat ik jQuery wil vermeiden om bij de grotere te blijven gebruiken. Volgens mij leek dat het slimste om mee te experimenteren maar kan zijn dat ik de voor en nadelen nog niet zo goed door heb...

    Eerder sprak je over Vue en na tientallen keren doorverwezen te zijn heb ik het enkele maanden geleden eens uitgeprobeerd, super strak en eenvoudig front-enden dat is zeker! Is helaas toen enkel bij proberen gebleven ;p

    MiCa - Basketbal <3

  • M.Beers
    Elite members
    Berichten
    460
    • 12 oktober 2020 om 11:32
    • #10

    Je horizon verbreden is altijd goed en daar zou ik ook zeker niet mee stoppen. Echter zie ik persoonlijk niet de noodzaak om libraries als jQuery of VueJs te vermijden.

    Indien je bij de officiële core blijft, met eventuele plugins (zoals jQuery mobile), waarbij je er zeker van bent dat het onderhoud goed is. Zie ik niet de meerwaarde om ongeveer 40kb aan overhead te besparen door een grote deel aan functionaliteit zelf te gaan schrijven. Dit zal je waarschijnlijk meer tijd kosten en hetzelfde resultaat opleveren.

    Dit was mijn spreekbeurt, zijn er nog vragen?

Registratie

Nog geen account? Registreer je nu en word deel van onze community!

Nu registreren Aanmelden

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 2 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacyverklaring
  10. Contact
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design