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

158

    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. Ja taas ammuttu kokkolassa

      Kokkolaisilta pitäisi kerätä pois kaikki ampumaset, keittiöveitset ja kaikki mikä vähänkään paukku ja on terävä.
      Kokkola
      30
      3471
    2. Kukka ampu taas Kokkolassa?

      T. olisi hetkeä aiemmin lähtenyt johonkin. Naapuri kai tekijä J.K., ei paljasjalkainen Kokkolalainen, vaan n. 100km pääs
      Kokkola
      9
      1538
    3. Kuinka kauan

      Olet ollut kaivattuusi ihastunut/rakastunut? Tajusitko tunteesi heti, vai syventyivätkö ne hitaasti?
      Ikävä
      113
      1463
    4. Milli-helenalla ongelmia

      Suomen virkavallan kanssa. Eipä ole ihme kun on etsintäkuullutettu jenkkilässäkin. Vähiin käy oleskelupaikat virottarell
      Kotimaiset julkkisjuorut
      224
      1255
    5. Kun näen sinut

      tulen iloiseksi. Tuskin uskallan katsoa sinua, herätät minussa niin paljon tunteita. En tunne sinua hyvin, mutta jotain
      Ikävä
      34
      893
    6. Purra saksii taas. Hän on mielipuuhassaan.

      Nyt hän leikkaa hyvinvointialueiltamme kymmeniä miljoonia. Sotea romutetaan tylysti. Terveydenhoitoamme kurjistetaan. ht
      Maailman menoa
      242
      883
    7. Yhdelle miehelle

      Mä kaipaan sua niin paljon. Miksi sä oot tommonen pösilö?
      Ikävä
      60
      869
    8. Helena Koivu on äiti

      Mitä hyötyä on Mikko Koivulla kohdella LASTENSA äitiä huonosti . Vie lapset tutuista ympyröistä pois . Lasten kodista.
      Kotimaiset julkkisjuorut
      130
      848
    9. Ja taas kerran hallinto-oikeus että pieleen meni

      Hallinto-oikeus kumosi kunnanhallituksen päätöksen vuokratalojen pääomituksesta. https://sysmad10.oncloudos.com/cgi/DREQ
      Sysmä
      66
      844
    10. Löydänköhän koskaan

      Sunlaista herkkää tunteellista joka jumaloi mua. Tuskin. Siksi harmittaa että asiat meni näin 🥲
      Ikävä
      97
      808
    Aihe