2010-11-15 27 views
4

我在我的HTML中使用了一個javascript事件的錨定標記。該代碼看起來是這樣的錨定標記的隨機行爲

<a href="#" onclick="myScript()">run</a> 

然而,當我點擊腳本,第一時間鏈接被點擊它重新加載頁面。第二次和隨後的點擊,它執行JavaScript。

我首先想到的是,這是什麼做的URL

我的網址是

http://localhost/mypage.php?someid=1234567 

但是,單擊首次javascript的鏈接後,它改變

http://localhost/mypage.php# 

我現在唯一的解決方案是將錨標籤更改爲跨度,並使用javascript和css模仿行爲,但這是一個被黑客入侵的解決方案。

爲什麼會發生這種情況?有沒有辦法來防止這種情況?

我的應用程序是一個Java Struts應用程序,它也在一個框架內運行。

回答

7

原因是您不停止鏈接的默認操作,即轉到URL #。返回來自事件的錯誤:

<a href="#" onclick="myScript();return false;">run</a> 
0

或使href javascript:;代替#

<a href="javascript:;" onclick="myScript();">run</a>