js添加超链的href与click事件问题

wyr6512 2011-06-29 08:58:20
我通过js的fun(pram1,pram2)在一个div中动态的生成了多个超链,并且设置了href属性和onclick事件,onclick绑定的就是fun(pram1,pram2)
现在的问题是onclick执行了,但是页面没有跳转(跳转页面在框架中显示)。而我通过后台动态添加的超链则没有问题,并且我如果给超链绑定ondblclick事件,页面也能实现跳转。
求各位大虾指教,谢谢!
...全文
2494 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wyr6512 2011-06-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 liuchaolin 的回复:]
parent.document.getElementById("spanTitle").innerHTML = desc

应该是这种代码影响的,自己都把自己干掉了
[/Quote]
我不明白什么是自己把自己干掉了,spanTitle只是我页面已经存在的一个span,这有什么问题?
就算是这种问题,可我把它屏蔽掉问题并没有得到解决。
md5e 2011-06-30
  • 打赏
  • 举报
回复
parent.document.getElementById("spanTitle").innerHTML = desc

应该是这种代码影响的,自己都把自己干掉了
wyr6512 2011-06-30
  • 打赏
  • 举报
回复
感觉不是事件冒泡问题,具体的我也弄不太明白,我在onclick中调用如下函数解决了问题,但是感觉不够专业,期待高人指教!!!
function goto_href(desc, sysid,str_href) {
show_title(desc, sysid);
parent.document.getElementById("content3").src = "../"+str_href;
}
wyr6512 2011-06-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hch126163 的回复:]
先执行 onclick 再跳转!

onclick 内不能 return false;
return false 就不会跳转
[/Quote]
没有return false; 用return true都不行,js代码如下:
function show_title(desc, sysid) {
parent.document.getElementById("spanTitle").innerHTML = desc;
var strup = document.getElementById("hfsysid").value;
var strnext = document.getElementById("hfsysid_next").value;
var up_header = "<span>上一级:</span>";
var next_header = "<span>下一级:</span>";
var i, substr1, substr2, html_str, html_up, html_next, id,new_id;
html_str = "";
html_up = "";
html_next = "";
if (strup != "") {
while (strup != "") {
i = strup.indexOf(",");
id = strup.substring(0, i);
if (id != sysid) {
i = strup.indexOf(";");
strup = strup.substr(i + 1, strup.length - i);
continue;
}
strup = strup.substr(i + 1, strup.length - i);
i = strup.indexOf(",");
substr1 = strup.substring(0, i);
strup = strup.substr(i + 1, strup.length - i);
i = strup.indexOf(";");
substr2 = strup.substring(0, i);
strup = strup.substr(i + 1, strup.length - i);
i = substr2.indexOf(".");
new_id = substr2.substring(0, i);
html_up += "<a title='" + substr2 + "' href='../" + substr1 + "' onclick=show_title('" + substr2 + "'," + new_id + ") target='content3'><span>" + substr2 + "</span></a>   ";
}
if (html_up != "")
html_up = up_header + html_up;
}
if (strnext != "") {
while (strnext != "") {
i = strnext.indexOf(",");
id = strnext.substring(0, i);
if (id != sysid) {
i = strnext.indexOf(";");
strnext = strnext.substr(i + 1, strnext.length - i);
continue;
}
strnext = strnext.substr(i + 1, strnext.length - i);
i = strnext.indexOf(",");
substr1 = strnext.substring(0, i);
strnext = strnext.substr(i + 1, strnext.length - i);
i = strnext.indexOf(";");
substr2 = strnext.substring(0, i);
strnext = strnext.substr(i + 1, strnext.length - i);
i = substr2.indexOf(".");
new_id = substr2.substring(0, i);
html_next += "<a title='"+ substr2 +"' href='../" + substr1 + "' ondblclick=show_title('" + substr2 + "'," + new_id + ") target='content3'><span>" + substr2 + "</span></a>   ";
}
if (html_next != "")
html_next = next_header + html_next;
}
html_str = html_up + html_next;
// alert(html_str)
parent.document.getElementById("sub_menu").innerHTML = html_str;
return true;
}
以上就是js动态生成超链的代码,添加的超链在html源文件是看不到的,后台动态添加的超链可以看到也不会有这种问题。
注意我在“下一级”中绑定双击事件则可以执行函数并且跳转,单击就跳转不了。
hch126163 2011-06-30
  • 打赏
  • 举报
回复
先执行 onclick 再跳转!

onclick 内不能 return false;
return false 就不会跳转
wyr6512 2011-06-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 porschev 的回复:]
百度。。。JS。。。事件冒泡

http://blog.csdn.net/porschev/archive/2010/11/26/6036644.aspx

上面是Jquery事件冒泡的例子。。可以有助于LZ理解。。
[/Quote]
好像和这个没关系,我生成的超链只是被包在div中,div并没有加任何处理(不含onclick事件),只是我产生的每个超链绑了onclick事件
porschev 2011-06-29
  • 打赏
  • 举报
回复

百度。。。JS。。。事件冒泡

http://blog.csdn.net/porschev/archive/2010/11/26/6036644.aspx

上面是Jquery事件冒泡的例子。。可以有助于LZ理解。。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧