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

213

    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. Laitetaas nyt kirjaimet tänne

      kuka kaipaa ja ketä ?
      Ikävä
      151
      10934
    2. Pieni häivähdys sinusta

      Olet niin totinen
      Ikävä
      52
      5220
    3. Taas ryssittiin oikein kunnolla

      r….ä hyökkäsi Viroon sikaili taas ajattelematta yhtään mitään https://www.is.fi/ulkomaat/art-2000011347289.html
      NATO
      45
      2433
    4. Missä olet ollut tänään kaivattuni?

      Ikävä sai yliotteen ❤️ En nähnyt sua tänään söpö mies
      Ikävä
      30
      2133
    5. Vanha Suola janottaa Iivarilla

      Vanha suola janottaa Siikalatvan kunnanjohtaja Pekka Iivaria. Mies kiertää Kemijärven kyläjuhlia ja kulttuuritapahtumia
      Kemijärvi
      13
      1701
    6. Valtimon Haapajärvellä paatti mäni nurin

      Ikävä onnettomuus Haapajärvellä. Vene hörpppi vettä matkalla saaren. Veneessä ol 5 henkilöä, kolme uiskenteli rantaan,
      Nurmes
      42
      1544
    7. Tiedän kuka sinä noista olet

      Lucky for you, olen rakastunut sinuun joten en reagoi negatiivisesti. Voit kertoa kavereillesi että kyl vaan, rakkautta
      Ikävä
      30
      1241
    8. Känniläiset veneessä?

      Siinä taas päästiin näyttämään miten tyhmiä känniläiset on. Heh heh "Kaikki osalliset ovat täysi-ikäisiä ja alkoholin v
      Nurmes
      35
      1166
    9. Daniel Nummelan linjapuhe 2025

      Kansanlähetyksen toiminnanjohtajan Daniel Nummelan linjapuhe tänään. Rehellistä analyysiä mm. evlut kirkosta ja piispo
      Luterilaisuus
      92
      935
    10. TÄSTÄ TAITAA TULLA SUOMEN HISTORIAN SUURIN USKONNONVAPAUDEN OIKEUDENKÄYNTI.

      Sinun täytyy hyväksyä se että jos sinä vetoat uskonnonvapauteen, silloin sinun tulee antaa myös muille vastaava vapaus o
      Hindulaisuus
      317
      892
    Aihe