2012-12-12 24 views
0

好吧,這個人有一些類似的線程,但我找不到任何釘在頭上的東西,所以我們走了。如何指定錨標籤的行爲像超鏈接,沒有href且沒有錨名稱?

我試圖使用錨標記,模擬鏈路,像這樣:

<a onClick="javascript: DownloadPorn();">Click Here!</a> 

所有這一切工作正常,很正常;鏈接顯示,我可以點擊它,並且我的javascript方法被成功執行。

這裏的問題是,我如何正確地強制鏈接以與'實際'HTML鏈接'相同的方式顯示?或者更確切地說,以'同樣的方式',就好像我在上面提到的標籤中有一個href;像這樣:

<a href="#" onClick="javascript: DownloadMorePorn();">Click Here!</a> 

現在...這個代碼片斷迫使那個我期望它的方式來顯示鏈接,但在使用這種方法,點擊一個鏈接時,滾動位置反彈到頂端。

可能很清楚,這不是我想要開發的框架的預期行爲。如果有人有任何建議來解決這個問題,我將非常感謝您的意見。 ---儘管輸入了這一切,我認爲我可以在屏幕的頂部放置一個靜態錨(例如0,0或 - , - ),並強制所有鏈接引用該錨。如果有人在這個解決方案中看到任何可行性,我很可能會探索它。

--- ---編輯

接受的答案:

爲了具有錨表現爲一個超鏈接,沒有操縱該瀏覽器的當前位置;利用一個Javascript方法在href屬性中不返回任何東西(?),或者在其中一個替代事件處理程序中爲一個定位符返回'false',I.E. onClick方法。

可能的解決方案:

<a href="javascript: DoSomething();">Link</a> 
<a href="javascript: void(0);" onClick="javascript: DoSomething();">Link</a> 
<a href="#" onClick="javascript: DoSomething(); return false;">Link</a> 

再次感謝大家。

---編輯完---

+1

「我怎樣才能正確地強制鏈接以與「HTML鏈接」相同的方式顯示?「你的意思是在狀態欄中? – j08691

+0

我不知道該方法的名稱是如何相關的... 而我的意思是從客戶角度來看鼠標懸停,j08691。 爲什麼我不能提前感謝人們-_- – DigitalJedi805

+0

這裏沒有人有幽默感。把鍵盤放下! – DigitalJedi805

回答

1

如果您在onclick屬性的末尾使用return false,它將不會在任何位置滾動。

<a href="#" onClick="someFunc(); return false;">Click Here!</a> 

,或者你可以讓你的函數返回false,並返回其結果(假)以及在onclick屬性,它是較短的執行:

<script type="text/javascript"> 
function someFunc() { 
    // all your function code here 
    return false; 
} 
</script> 
<a href="#" onClick="return someFunc()">Click Here!</a> 
1

設置hrefjavascript:void(0);,這將意味着瀏覽器顯示的鏈接,如果它有一個真正的href

<a href="javascript:void(0);" onClick="javascript: DownloadBooks();">Click Here!</a> 

還有其他的方法,因爲將href設置爲#,但是顯示的優勢是您不必擔心返回false或指定return DownloadBooks()

This question有關於使用javascript:void(0)的一些很好的信息。

1

將javascript函數設置爲href。

<a href="javascript:DownloadPorn();">Click Here!</a> 

編輯:只是要說明一些認爲這種不好的做法。

+2

這個問題是,如果您通過Javascript而不是內聯設置單擊事件處理程序,則最終將同時使用onclick處理程序和調用該函數的href。與此相關的另一個問題是,您不像onclick處理程序那樣使用'this'引用對象。你不能傳遞任何關於對象的東西。 – MrCode

+0

所以實際上這仍然達到了我的目的,但擴展性較差。 (可擴展性如何不是一個單詞...) – DigitalJedi805