是什么导致url中的哈希(#)消失?

时间:2012-09-11 23:21:14

标签: jquery html

在包含mypage.php#tab3之类网址的网页上,其链接如下:

enter image description here

点击添加会将网址缩短为mypage.php#

添加代码:

function addComment(i) {
    var s = document.getElementById(i);

    s.innerHTML = '';
    $('#'+i).attr('style','width:164px;padding-right:5px');
    $('#'+i).append('<input type="text" id="ci'+i.substr(3)+'" style="width:162px;padding:0 3px" value=\'Enter comment here\' onclick=\"\" onblur="storeComment('+i.substr(3)+');">');
    return false;
}

我添加了一些中断,哈希消失返回false语句。

尝试了不成功的更改:

  1. 有和没有onclick
  2. 有和没有返回false
  3. 编辑:问题出在链接代码中。

    <a href="#" onclick="addComment('com94');">Add</a>
    

1 个答案:

答案 0 :(得分:2)

您基本上需要在onclick处理程序中返回false以防止链接的默认操作(转到href)被执行。

<a href="#" onclick="addComment('com94');return false;">Add</a>

或者,由于您的addComment()函数已经返回false,因此只需委托它。

<a href="#" onclick="return addComment('com94');">Add</a>

这不是一个jQuery问题,它只是基本的HTML。