动态创建 onclick 事件锚元素 - Javascript
Posted
技术标签:
【中文标题】动态创建 onclick 事件锚元素 - Javascript【英文标题】:Dynamically create onclick event anchor element - Javascript 【发布时间】:2016-10-04 17:52:41 【问题描述】:如何在 javascript 的超链接中动态创建 onclick 函数?
这是一个代码 sn-p - 在同一页面内创建多个超链接的 while 循环。我尝试只将 onclick 事件添加到 a 元素,即:
a.onclick=myfunction()
但是,当页面加载了这些链接的列表时,会自动为每个链接调用该函数。
这就是我的代码的样子。我想我应该为每个链接使用 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”是迭代器变量。
【问题讨论】:
我肯定会养成将 id 放在您想要操作的东西上的习惯。并且只需执行“a.addEventListener('onclick', function(event) do stuff here)”之类的操作。那会奏效。它不会立即执行 - 它只会通过具有事件侦听器来执行“onclick”:)。如果需要,还可以创建自定义事件方法/侦听器。 【参考方案1】:a.onclick=myfunction()
将myfunction
的返回值设置为onclick。您想要的是以下内容:
a.onclick=myfunction
【讨论】:
【参考方案2】:可以通过两种方式指定onclick函数:
1) 使用命名函数:
function myFunction()
alert('hello');
a.onclick = myFunction;
2) 使用匿名函数:
a.onclick = function()
alert('hello');
;
【讨论】:
以上是关于动态创建 onclick 事件锚元素 - Javascript的主要内容,如果未能解决你的问题,请参考以下文章
由于 html 锚点中的 onclick 事件导致页面加载缓慢
带有Javascript onclick事件的HTML锚标记