gpt4 book ai didi

javascript - 调用函数后不自动点击链接

转载 作者:行者123 更新时间:2023-11-28 13:24:15 25 4
gpt4 key购买 nike

我有一个麻烦的功能,可能之前已经在某个地方得到了解答,但我做了一些搜索,但大脑完全卡住了。所以我有这个代码:

function createTimeLink(){
var link = document.createElement('a');
link.id = "link_"+vooru_nr;
link.textContent = "VOOR "+vooru_nr;
link.onclick = timeHelper();
var headrow = document.getElementsByClassName("elem_"+vooru_nr);
headrow[0].textContent = "";
headrow[0].appendChild(link);
}

function timeHelper(){
console.log("clicked");
}

我创建一个元素并尝试为其提供 onclick 属性。但是,如果我在 window.onload 中调用函数 createTimeLink() ,“单击”将记录在控制台中,但每次我再次单击该链接时都不会记录。我怎样才能做到如果我点击我的链接就会发生一些事情?将来我想在单击链接后打开一个模式,但目前单击链接时它甚至不会在控制台中显示“已单击”。

最佳答案

您正在将 link.onclick 设置为函数调用的RESULT。省略括号,它可能会起作用:

link.onclick = timeHelper;

在 JavaScript 中,函数是对象,因此您可以调用它们(通常对函数执行的操作就是括号的作用),也可以传递它们(在这种情况下,您不需要编写括号! )。

所以这两者非常不同:

  • someFunction();(运行函数,返回其结果)
  • someFunction;(不运行该函数)

@w3re 正确地指出,addEventListener 可能是最简洁的方法。它不会改变此处的功能,但您稍后可能会遇到示例,您希望在其中拥有多个事件监听器。

如果您还没有使用过 addEventListener 及其对应的 removeEventListener,我强烈推荐它!

关于javascript - 调用函数后不自动点击链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30470716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com