2011-01-31 61 views
0

這似乎是一個愚蠢的問題,但我無法弄清楚。我有一個只執行Ajax功能我的網頁上的一些錨標記,並沒有內在的使用,除了觸發的javascript:如何防止轉到頁面頂部的ajax請求的定位標記?

<a href="#" onclick="SomeFunction();">Blah</a> 

如何避免點擊該鏈接從一路滾動到頁面頂部。它造成了一些煩人的UI可用性問題。

回答

7

HTML

<a href="javascript:void(0);" id="theLink" onclick="SomeFunction();">Blah</a> 

JS

//jQuery 
$('#theLink').click(function(){ 
    doSomething(); 
}); 

//Regular JS 
document.getElementById("theLink").onclick = doSomething; 

的jsfiddle

http://jsfiddle.net/kSxrK/

+0

`href`屬性是由W3C規範要求,但您可以使用event.PreventDefault()。 `;('#theLink')。click(function(event){event.PreventDefault(); doSomething();});` – 2011-01-31 21:36:51

1

指定一個不存在的錨如<a href="#nogo" onclick="SomeFunction();">Blah</a>

1

SomeFunction()添加return false到最後:)

var SomeFunction = function(){ 
    //AJAX MAGIC 
    return false; 
}