Vanilla Javascript equivalent voor jQuery

  • 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:




    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

  • Guest, wil je besparen op je domeinnamen? (ad)
  • 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!

  • 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.

  • 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 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.

  • 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

  • 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.

Participate now!

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