欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

超链接target为_blank时的有关问题

更新时间: 2014-01-05 00:51:25 责任编辑: Author_N1

 

超链接target为_blank时的问题
1. HTML元素<a href="#" target="_blank">链接</a>

href为链接的地址,#代表当前页面。如:
<a href="http://www.baidu.com" target="_blank">点我</a>


href还可以是javascript函数。如:
<a href="javascript:funcName();" target="_blank">点我</a>
<a href="javascript:void(0);" target="_blank">点我</a><!-- 空函数 -->
<a href="javascript:;" target="_blank">点我</a><!-- 没有函数 -->


target有几个可选值:
    _blank 链接在新页面打开
    _parent 链接在父页面打开
    _self 链接在当前页面打开
    _top 链接在最上级页面打开
    framename 链接在指定的iframe页面打开

如果href的值是一个js函数,而target为_blank,会导致只打开一个空白页面,不会调js脚本
<a href="javascript:toGo()" target="_blank">Go</a>
<script type="text/javascript">
function toGo() {
	alert('toGo() is invoked');
}
</script>


解决方案是:
a. 将target的值改为_self

b. 去除href属性,js函数作为onclick的值:
<a onclick="toGo();" target="_blank">Go</a>


c. href设置为空,js函数作为onclick的值:
<a href="javascript:;" onclick="toGo();" target="_blank">Go</a>

注意:此时除了执行toGo()函数外,还打开一个空页面:

2. js中如何跳转到另一个页面呢,可以使用<form>标签target属性
<a href="http://www.baidu.com" target="_blank">Go</a>
<a href="javascript:toGo()" target="_self">Go</a>
<form id="form1" method="get">
	<input type="hidden" name="wd" value="" />
</form>
<script type="text/javascript" src="jquery-1.7.1.js"></script>
<script type="text/javascript">
function toGo() {
	$('#form1').attr('action', 'http://www.baidu.com/s');
	$("#form1 input:hidden[name='wd']").val('terrific');
	$('#form1').attr('target', '_blank');
	$('#form1').submit();
}
</script>


总结:当href属性值为链接地址时,target值才可以为"_blank";否则去掉target属性或者设置其为"_self"(默认值)。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 00:51:25
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/640/
本文WWW.DOC100.NET DOC100.NET版权所有。