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

225

    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. Niin surullinen

      onnettomuus taas. Voimia ihan kaikille läheisille,kavereille ja kouluun 🙏
      Lapua
      106
      3150
    2. Kehutaan vaihteeksi Perussuomalaisia

      Perussuomalaiset ovat olleet melkoisen lokakampanjoinnin kohteena, vaikka ovat saaneet paljon hyvää aikaiseksi. Nyt on
      Maailman menoa
      92
      2445
    3. Paloautoko se oli kolarissa Juntusrannan risteyksessä?

      Oli kuva paloautosta nettijutussa.
      Suomussalmi
      24
      1986
    4. Roiskeläpät takaisin niin alkaa lasit kestämään

      "Tuulilaseja hajottava talvi-ilmiö on ehkä ratkennut" Tämän päivän autoissa kun on esimerkiksi vanhempaa autokalustoa s
      Yleistä autoilusta
      22
      1530
    5. Mitä tapahtuu?

      Mitä säpäkän risteyksessä on tapahtunut kun poliiseja, ambulansseja ja kopteri paikalla?
      Outokumpu
      29
      1500
    6. Tiesitkö? Johannes Brotheruksen ex-isäpuoli on kuin onkin Mikko Kuustonen - Tästä on kyse!

      Tiesitkö? Ja hehän on kuin kaksi marjaa... Johannes Brotherus on KUUMAA-yhtyeen jäsen ja tänä syksynä mukana Vain elämää
      Suomalaiset julkkikset
      15
      1415
    7. Murtautuminen uimahalliin

      17.10. yöllä Kiuruveden uimahalliin murtauduttiin yläkerran oven ikkunasta. Onko kellään havaintoja tapauksesta?
      Kiuruvesi
      26
      927
    8. siis ihan oikeesti

      Tämä on naurettavaa
      Ikävä
      87
      922
    9. Mitä tarkalleen tunnet

      Minkälaisia tunteita sisälläsi liikkuu, kun tiedät, että ajattelen sinua lämmöllä ja jotain syttyy myös sinussa? Haluai
      Ikävä
      62
      856
    10. Syyskuussa 2025 ensirekisteröidyistä henkilöautoista 43 % oli täyssähköautoja.

      Niitä rekisteröitiin 2 592 eli 41 % enemmän kuin vuotta aiemmin. Syyskuussa 2025 rekisteröidyistä uusista henkilöautois
      Hybridi- ja sähköautot
      2
      789
    Aihe