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

192

    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. Huomenta ihana

      Kauniskasvoinen ihanuus 😘 saan sut vielä
      Ikävä
      45
      7372
    2. Hei rakas...

      Miten on työpäivä sujunut? Rakastan sinua 💗
      Ikävä
      32
      4068
    3. Ei tämä etene ikinä

      Kun kumpikaan ei enää ota yhteyttä. Mä en ainakaan uskalla.
      Ikävä
      57
      3605
    4. Edelleen sitä on vaikea uskoa

      Että olisit oikeasti rakastunut muhun
      Ikävä
      50
      3130
    5. Vitsi mihin menit. Heti takasin.

      Mä näin sut tuu takasin! Oli kiire, niin en ehtiny sin perään!
      Ikävä
      17
      2806
    6. Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...

      Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons
      Suomalaiset julkkikset
      51
      2314
    7. Miksi et irrota otettasi

      Suhteeni?
      Ikävä
      53
      2307
    8. Toiveikas vai toivoton

      torstai? Ajatuksia?
      Ikävä
      37
      2258
    9. Koko ajan olet

      Senkin suhteen kiusannut. Halut on ihan mielettömät olleet jo pitkään
      Ikävä
      43
      2258
    10. Mukavaa päivää

      Mun rakkauden kohteelle ❤️ toivottavasti olet onnellinen
      Ikävä
      16
      2236
    Aihe