onclick 不会在通过单击另一个链接创建的链接中触发
onclick does not fire in a link that is created by clicking another link
Javascript函数writelink创建一个触发函数hiya的链接。 当我在脚本中定义和调用 writelink 时,它有效。 但是,我希望正文包含另一个调用 writelink 以创建链接的链接。 最后一个链接无法触发(但如果我用警报替换 hiya 则有效)。 我是一个完全的新手,所以我希望这是显而易见的。 主要思想是我必须从代码创建一些链接,并且必须触发这些链接才能执行更多代码。 (如果你想让我以完全不同的方式做到这一点,请尝试给我一个完整的例子。
<HTML>
<HEAD>
<script>
function hiya (num){
alert("hiya " + num);
}
function writelink (num){
var htmlstr = "<a href='"#'" onclick='"hiya(" + num + ");return false;'">link" + num + "</a>";
document.write(htmlstr);
}
writelink(1);
</script>
</HEAD>
<BODY>
<br>
<a href="#" onclick="writelink(3);return false;">link2</a>;
<br>
</HTML>
document.write(htmlstr)
用您要插入的链接/htmlstr
替换整个DOM。使用纯javascript来创建链接:
function writelink(num){
var link = document.createElement('a');
link.innerHTML='link '+num;
link.href='#';
link.onclick=hiya(num);
document.body.appendChild(link);
}
只需将writelink()
替换为上面的代码即可。
您通常希望将链接添加到某个元素,而不仅仅是<body>
,假设一个 id menu
的<div>
:
var cnt = document.getElementById('menu');
cnt.appendChild(link);
更新
<!doctype html>
<html>
<head>
</head>
<body>
<a href="#" onclick="writelink(2);">link2</a>
<script>
function hiya(num) {
alert("hiya " + num);
}
function writelink(num){
var link = document.createElement('a');
link.innerHTML='link '+num;
link.href='#';
link.onclick=function(e) {
hiya(num);
}
document.body.appendChild(link);
}
writelink(1);
</script>
</body>
</html>
相关文章:
- 为在新窗口中打开外部链接创建异常
- 如何为应用深度链接创建超链接文本
- 如何基于URL的一部分为表中已有的每个链接创建链接
- 阻止 Google 根据我网站上的链接创建网页
- onclick 不会在通过单击另一个链接创建的链接中触发
- 为超链接创建侦听器
- 使用jqueryeasyui,如何通过选项卡中的链接创建选项卡
- 如何在D3.js中添加到地理位置的链接(创建为json路径)
- 无法使用通用分析代码为外部链接创建自定义页面跟踪URL
- 如何为Javascript文件中指定的链接创建Sitemap.xml文件
- 自定义JQuery动态链接创建
- D3 Force -使用动态refX为链接创建标记,以反映不同的节点大小
- 链接创建插件JavaScript或jQuery
- 从电子邮件链接创建弹出窗口,而不使用自定义javascript
- 余烬链接创建链接到未定义
- 为HTML超链接创建查询数据库的函数
- IPhone 4链接创建红色半透明背景/覆盖触摸:激活
- 为指向某个类的外部链接创建一个确认框,可以使用document.getElementByCLassName
- 单击链接创建表格
- 如何为链接创建onclick