因为href要跳转的url需要根据当前页面的url来确定,所以需要写成函数,所以页面跳转需要通过onclick事件来完成。我设置了onclick执行函数的返回值为false,但页面并没有跳转,为什么?
不介意多讲讲,谢谢。
额 刚才又试了一次,发现这个a标签只有第一次点击管用,后面再点就没有反应了。。什么原因啊
<a class="right-float sub-panelheading-font" href="#" onclick="addtrx()"> 添加通道 </a>
function addtrx(){
var url_t = window.location+'/addtrx';
window.open(url_t,'_self');
return false;
}
你第一次点击的的时候是没问题的,但是问题来了,为什么第二次点击的时候不行的,看了下你的a标签中的href属性是#符号,所以当你第一次点击之后,你注意看下浏览器的url地址栏,你会发现地址后面突然多了个#符号,所以你第二次点击的时候地址就变为xxxxxx..html#/addtrx这是跳不过去的,这个才是原因,你可以使用javascript:void(0)或者javascript:;;都可以。
你的href里有这样做吗href="javascript:void(0)"
建议alert(url_t )看一下
alert(url_t ),你可以试试
我是来学习一下的,我用你的代码试了一下,是能够进行跳转的
将href="#" 改成href="javascript:void(0)"
原因是。第url里加上了#号了。所以第二次点击不会打开新窗口!
第一次跳转有用 后面没用 应该是浏览器的原因 因为重复点击的访问路径相同,有的浏览器不认,你可以在地址后面?加一个时间或者随机数来欺骗浏览器
click和href根据浏览器解析不同来确定谁先执行,又或者两者都执行。有些浏览器即使加入了href="javascript:void(0);",也不一定会有效,所明白点,就是href本身包含了点击事件。因此click成了多余。这种需求建议舍弃a标签,用其他标签来代替,通过增加样式来达到同样的视觉效果
function addtrx(event){
event.preventDefault();
var url_t = window.location+'/addtrx';
window.open(url_t,'_self');
}
把 href 改了吧。href="javascript:void(0)" 给楼主个传送门 -href="#"和href="javascript:void(0);"、href="javascript:;间的区别"
先执行onclick