Javascript 从href调用JS函数中删除#?

Javascript 从href调用JS函数中删除#?,javascript,Javascript,嘿,我有一个从html链接调用的函数,如下所示: <a href='#' onclick='javascript:populate("m")'>My Messages</a><br/> 我遇到的问题是浏览器中的url在it中添加了一个#-这似乎阻止我再次单击链接,除非我删除散列,有没有办法停止在浏览器url中加载它?将脚本加载到文档头中(即,将其填充在两个和标记之间): onclick='return populate("m");' 功能测试(id){

嘿,我有一个从html链接调用的函数,如下所示:

 <a href='#' onclick='javascript:populate("m")'>My Messages</a><br/>

我遇到的问题是浏览器中的url在it中添加了一个#-这似乎阻止我再次单击链接,除非我删除散列,有没有办法停止在浏览器url中加载它?

将脚本加载到文档头中(即,将其填充在两个
标记之间):

onclick='return populate("m");'

功能测试(id){
警报(id);
}
​

我已经对它进行了测试,效果很好。

将脚本加载到文档头中(即,将脚本填充在两个
标记之间):


功能测试(id){
警报(id);
}
​
我已经测试过了,效果很好。

试试看

<a href="javascript:;" onclick="populate('m');">My Messages</a>
<script>
function populate(q) {
    switch(q) {
        case 'm':  messages_document(call_data(q + '.php', 'main')); break;
    }
  }
</script>

函数填充(q){
开关(q){
案例'm':消息\文档(调用\数据(q+'.php','main');中断;
}
}
试试看


函数填充(q){
开关(q){
案例'm':消息\文档(调用\数据(q+'.php','main');中断;
}
}

作为旁注,“onclick”事件中不需要“javascript:function”;您只需执行“onclick=”function();“,就可以了。我想说的是,你可以多次点击它。@TylerCrompton没有函数@Daedalus你说lol是什么意思?作为旁注,你不需要在“onclick”事件中使用“javascript:function”;您只需执行“onclick=”function();“,就可以了。我想说的是,你可以多次单击它。@TylerCrompton没有使用函数@Daedalus你说lol是什么意思?@Dave注意,它只在
填充
函数返回
false
(它是这样做的)时才起作用。我个人的偏好是去掉
返回(false)
填充
并用
填充(“m”)替换
onclick
的值;返回false。这背后的原因是,如果函数有效,就不应该返回
false
,IMHO。@Esailija我似乎必须删除href=“#”我听说返回
false
只在某些浏览器中有效,尽管我从未测试过。@Dave注意,只要
填充
函数返回
false
(确实如此)我个人的偏好是从
populate
中取出
return(false);
并将
onclick
的值替换为
populate(“m”);return false;
。这背后的原因是,如果函数有效,它不应该返回
false
,IMHO。@Esailija我似乎必须删除href=“#”我听说返回
false
只在某些浏览器中有效,尽管我从未测试过。
<head>
    <script type="text/javascript">
        function test(id){
            alert(id);
        }
    </script>
</head>
<a href='#' onclick="test('Test');">My Messages</a>​
<a href="javascript:;" onclick="populate('m');">My Messages</a>
<script>
function populate(q) {
    switch(q) {
        case 'm':  messages_document(call_data(q + '.php', 'main')); break;
    }
  }
</script>