动态创建 onclick 事件锚元素 - Javascript

Dynamically create onclick event anchor element - Javascript

如何在 JavaScript 中的 hyperlink 中动态创建 onclick 函数?

这是一个代码片段 - 在同一页面中创建多个 hyperlink 的 while 循环。我尝试将 onclick 事件添加到 a 元素,即:

a.onclick=myfunction()

但是,当页面加载了这些 link 的列表时,该函数会为每个 link.

自动调用

这就是我的代码的样子。我想我应该为每个 link?

使用 id
  var a = document.createElement('a');
  var linkText = document.createTextNode(child.innerHTML);
  a.appendChild(linkText);
  a.title = child.innerHTML;
  a.href = "#stockContent" + i;
  a.id = "link_id" + i;

  ...

“i”是迭代器变量。

a.onclick=myfunction()

myfunction 的 return 值设置为 onclick。您想要的是:

a.onclick=myfunction

您可以通过两种方式指定onclick函数:

1) 具有命名函数:

function myFunction(){
  alert('hello');
}

a.onclick = myFunction;

2) 匿名函数:

a.onclick = function(){ 
  alert('hello'); 
};