Javascript ongelma

Anonyymi

Minkä takia toi ensimmäinen ei toimi?
Tulostaa heti consoliin viestin, eikä vasta kun on klikattu.


function testi(e) {
console.log(”Testi functio”);
}

const div = document.querySelector("#testi");
// ei toimi
div.addEventListener("click", testi(”teksti”));

// toimii
div.addEventListener(”click”, testi);

8

244

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Siksi koska kutsut funktiota ensimmäisessä, joten se suoritetaan siinä paikassa ja sen paluuarvo (eli undefined) asetetaan event listeneriksi.

    • Anonyymi

      Vaihda hipsut.

    • Anonyymi

      Asettamalla tämän tapahtumakuuntelijan S24 sivulla, jokainen "UUSI" infon klikkaus tuottaa viestin.

      document.querySelectorAll(".BXbUW").forEach(i => i.addEventListener("click", e => {
      console.log("Painoit 'UUSI' informaatio viestiä.");
      }));

      Tämän laitoin siksi, että tulostan PDF -dokumentin itselleni, näistä paremmista kysymyksistä. Recoll auttaa löytämään ohjeen kun sitä seuraavan kerran tarvitsen.

      • Anonyymi

        Enpä muistanut selitellä tuota.
        Eli siinä asetetaan tapahtumankuuntelija jokaiselle ".BXbUW" luokan (class) elementille.


    • Anonyymi

      Kuten tuolla jo mainittiin, niin jos funktio kirjoitetaan sulkeiden kanssa, niin silloin funktiota kutsutaan. Pelkkä funktion nimi ilman sulkeita puolestaan palauttaa funktion itsessään.

      // Esimerkki
      const funktio = () => {
      console.log("****************");
      console.log("Morot funktiosta");
      console.log("****************");
      return "Paluuarvo muuttujasta";
      }

      let muuttuja;

      // kutsutaan funktiota, paluuarvo muuttujaan
      muuttuja = funktio();
      console.log("muuttuja = funktio():\n" muuttuja)
      console.log("---------------");

      // funktio muuttujaan
      muuttuja = funktio;
      console.log("muuttuja = funktio:\n" muuttuja);
      console.log("---------------");

      // kutsutaan muuttujaa funktiona
      console.log("muuttuja():\n" muuttuja());
      console.log("---------------");
      //
      //

      Testataan konsolissa:

      $ node esimerkki.js
      ****************
      Morot funktiosta
      ****************
      muuttuja = funktio():
      Paluuarvo muuttujasta
      ---------------
      muuttuja = funktio:
      () => {
      console.log("****************");
      console.log("Morot funktiosta");
      console.log("****************");
      return "Paluuarvo muuttujasta";
      }
      ---------------
      ****************
      Morot funktiosta
      ****************
      muuttuja():
      Paluuarvo muuttujasta
      ---------------

      • Anonyymi

        Voiko java-skriptien tulostusta uudelleen ohjata.

        let fun = () => {
        console.log("****************");
        console.log("Morot funktiosta");
        console.log("****************");
        return "Paluuarvo muuttujasta";
        }
        let x = fun();
        console.log(x);

        Jos kuvitellaan tilanne yllä olevaksi, niin (x) arvon asetuksessa tulostuu nuo 3 ylimääräistä console.log() riviä. Voiko ne ohjata Bash Shellin tyyliin (2> /dev/null) jonnekin näkymättömiin. Niin että vain tuon alimman rivin tulostus tulisi ruudulle.


      • Anonyymi
        Anonyymi kirjoitti:

        Voiko java-skriptien tulostusta uudelleen ohjata.

        let fun = () => {
        console.log("****************");
        console.log("Morot funktiosta");
        console.log("****************");
        return "Paluuarvo muuttujasta";
        }
        let x = fun();
        console.log(x);

        Jos kuvitellaan tilanne yllä olevaksi, niin (x) arvon asetuksessa tulostuu nuo 3 ylimääräistä console.log() riviä. Voiko ne ohjata Bash Shellin tyyliin (2> /dev/null) jonnekin näkymättömiin. Niin että vain tuon alimman rivin tulostus tulisi ruudulle.

        Laittaa console.log-funktioiden tilalle console.error, niin sitten voi tulostaa vaikka näin

        node esimerkki.js 2> /dev/null


    • Anonyymi

      Suuri kiitos kaikille, asia selvisi.

      T: Keskustelun aloittaja

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Onko sulla

      suoja työ paikka? 🤔🤷‍♂️
      Ikävä
      34
      3996
    2. Joensuun kaupunki levittelee tonttitietoja Keskisuomalaiselle

      Sähköposteja ja tonttitietoja levitellään mm. Pasi Koivumaalle
      Joensuu
      13
      1899
    3. Oletko nainen alkanut kammoamaan minua

      Sinua ei näy eikä kuulu, ja ilmeisesti kiertelet tilanteita. Oletko huomannut, että olet vieläkin ajatuksissani luvattom
      Ikävä
      63
      1364
    4. Saako 60 v vielä töitä? Arto Nyberg puhuu suoraan elämästä ilman töitä

      Arto Nyberg täyttää tänään 60 v. Onnea! Nyberg totuttiin näkemään suoran haastatteluohjelman kapteenina vuodesta toise
      Maailman menoa
      95
      1306
    5. Toivoisitko Rakas vielä?

      Haluaisitko vielä? Uskoisin osaavani näyttää sinulle, kuinka ainutlaatuinen nainen olet.
      Ikävä
      68
      1195
    6. Tiesitkö tätä ex-miehistä? Noriko Salo jysäytti yllätyspaljastuksen

      Noriko Salo ja ex-F1 kuski Mika Salo olivat naimisissa v. 1999-2022. Kirsi Salon ex-mies puolestaan on muusikko Sammy A
      Kotimaiset julkkisjuorut
      5
      1051
    7. Koska tajusit silloin aikanaan

      että olin ihastunut sinuun? 🤭😍 Taisin olla aika läpinäkyvä 🫣❤️
      Ikävä
      47
      951
    8. Keskustelua kasteesta

      You tubessa kaksi pappia keskustelivat kasteesta ja kritisoivat raamatullista uskovien kastetta. Toinen heistä yritti
      Kaste
      333
      924
    9. Ihan pieni näkeminen vaan

      👋 ja minä olisin valmis jo vaikka mihin sun kanssa. Nämä on näitä.. 🤫🫣😘💥
      Ikävä
      26
      911
    10. En haluaisi kaiken kuihtuvan pois

      ilman, että olemme voineet jutella rauhassa kasvotusten... Mutta mistä ihmeestä löydän sinut?
      Ikävä
      39
      902
    Aihe