首页 > 解决方案 > Javascript 自动运行 onclick 功能

问题描述

在为网页制作图库时,我遇到了 js 自动运行 (next_image) 函数的问题,经过一番搜索,我发现这是由于语句后面的 () 造成的。但是,我一生都无法弄清楚如何将 clicked_id 获取到 next_image 函数。

所以我的问题是:我怎样才能使函数仅在单击按钮后运行,同时仍发送 clicked_id?

function opencase(clicked_id) {
                document.getElementById("right_arrow").addEventListener("click", next_image(clicked_id));
            }
            function next_image(photoid){
                console.log(photoid);
                photoid++;
                document.getElementById("disp").setAttribute("src", "images/image"+photoid+".jpg");
                console.log(photoid);
            }

任何帮助将不胜感激:D

标签: javascript

解决方案


不要直接调用函数,而是从addEventListener回调函数中调用它

function opencase(clicked_id) {
  document.getElementById("right_arrow").addEventListener("click", function() {
    next_image(clicked_id)
  });
}

function next_image(photoid) {
  console.log(photoid);
  photoid++;
  document.getElementById("disp").setAttribute("src", "images/image" + photoid + ".jpg");
  console.log(photoid);
}


推荐阅读