Hirdetés

Új hozzászólás Aktív témák

  • cattus
    addikt

    Közben másik fórumon sikerült megoldani a problémát. :)

    Ez az eredeti nem működő kód CODESANDBOX

    Az ebben lévő addEventListener nem tudta elérni a #testclick ID-jű elemet.
    <script>
    let output = document.querySelector("#output");
    let testclick = document.querySelector("#testclick");
    testclick.addEventListener("click", testclickevent());
    function testclickevent() {
    output.innerHTML = "TEST CLICK IS WORKING";
    }
    </script>

    A működő kód

    Ebben az alábbi kód szerepel

    <script>
    document.addEventListener("click", function(e) {
    var elem = e.target;
    if (elem && elem.id == "testclick") {
    output.innerHTML = "THIS SOLUTION IS WORKING";
    }
    });
    </script>

    Teljesen még nem tiszta, hogyan is képes látni ez a content.html-ben lévő button ID-t, de működik. Gombnyomásra kiírja, hogy "THIS SOLUTION IS WORKING"

    Teljesen még nem tiszta, hogyan is képes látni ez a content.html-ben lévő button ID-t

    Két dolog miatt. Egyrészt, mert az egész document-re raktad rá az event listener-t, tehát az minden egyes, az oldalon történt click eseményre (attől függetlenül, hogy mire kattintottál) le fog futni. (Ezt alapvetően én nem nagyon ajánlanám, jobb az, ha az egyes event listener-eknek csak akkor futnak le, ha szükséges)
    A másik dolog pedig a JavaScript event capure mechanizmusa, amivel a click esemény végigfolyik a DOM elemein.

Új hozzászólás Aktív témák