大致情况如下:
<a id="myAnchor" href="#">haha</a>
<script>
var a = document.getElementById("myAnchor");
a.onClick = myFun1;
</script>我需要给在点击haha这个超链时根据不同的情况调用不同的函数,所以写了类似以上这样的代码
这段代码可以运作,但有个问题,点击后,页面的URL上就多了个#,比如页面url是index.php,点完就成了index.php#策划不爽,要求去掉
于是改成类似:
<a id="muAnchor" href="javascript:void(0)">haha</a>
很好,#不出来了。但出新问题了那就是如果onclick中打代码要用location进行挑战,就失败了,
log说明,浏览器执行了跳转(相关页面被请求了),但可能最后完成跳转后因为href的设置,又被否决了
总之,页面不跳转了谁有比较好的解决办法吗?

解决方案 »

  1.   

    try:
    <a id="muAnchor" href="javascript:window.location.href=window.location.href;">haha </a>
      

  2.   

    如果你不想让URL随href改变,对onclick事件返回一个false值就行了。<a id="myAnchor" href="#">haha </a> 
    <script> 
    var a = document.getElementById("myAnchor"); 
    a.onclick = function(){alert("!!");return false;}; 
    </script> 
      

  3.   

    <span id="myAnchor" style="cursor:hand;" onClick="myFun1()">haha </span> 
      

  4.   

    <a id="muAnchor" href="javascript:void(myFun1())">haha </a>