Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击事件的javascript addEventListener多次调用函数_Javascript_Html - Fatal编程技术网

单击事件的javascript addEventListener多次调用函数

单击事件的javascript addEventListener多次调用函数,javascript,html,Javascript,Html,我已经为Html画布元素添加了一个click事件监听器。 函数语句执行多次。语句第一次执行一次时,当我再次调用main函数时,单击会导致同一个函数执行两次,然后执行三次,以此类推 这是听众 function initializeNewGame() { // Set block cur = new Date(); countDownDate = new Date(cur.getTime() + 5*60010).getTime();

我已经为Html画布元素添加了一个click事件监听器。 函数语句执行多次。语句第一次执行一次时,当我再次调用main函数时,单击会导致同一个函数执行两次,然后执行三次,以此类推

这是听众

 function initializeNewGame() {

        // Set block 
        cur = new Date();
        countDownDate = new Date(cur.getTime() + 5*60010).getTime();
        moves = 0;
        BLOCK_WIDTH = Math.round(BLOCK_IMG_WIDTH / TOTAL_COLUMNS);
        BLOCK_HEIGHT = Math.round(BLOCK_IMG_HEIGHT / TOTAL_ROWS);

        document.getElementById("canJigsaw").addEventListener("click", myFunction);

        function myFunction() {
            moves = moves + 1;  

            } 

        SetImageBlock();

        DrawGame();
    }
确保initializeNewGame只调用一次。每次调用它时,它都会添加另一个单击处理程序。这意味着每次单击都可以多次调用myFunction\


尝试在initializeNewGame中添加控制台日志,以帮助检测是否多次调用它。

是否多次调用此代码块-每次都会添加一个新的事件处理程序。确保只调用addEventListener位一次又一次only@Jamiec:成功了。我添加了一个布尔值,以确保函数不会被多次调用。非常感谢。