2010-02-05 52 views
3

我在我的項目中使用Zend,PHP,AJAX,JQuery。問題是,當我將鼠標懸停在網頁上的鏈接上時,如何強制不顯示瀏覽器狀態欄上的鏈接。當您在網頁上的鏈接上進行鼠標懸停時,如何隱藏瀏覽器狀態欄上的鏈接?

最好的例子就是在這個網站上,當你把鼠標懸停在這個網站上的投票鏈接上時,它不會顯示鏈接,點擊之後增加的投票不刷新頁面。

感謝

+1

請不要這樣做。很少有人會注意到,除非那些會被非標準行爲所困擾的人。如果您設法隱藏它,用戶仍然可以通過其他方法獲取信息。 – Quentin 2010-02-05 13:36:36

+0

我認爲這是有利於安全的目的,當你點擊投票鏈接,鏈接不會出現在任何地方,投票存儲在數據庫中。無論如何感謝 – NAVEED 2010-02-05 14:29:47

回答

7

在Stack Overflow上,您看不到地址,因爲它不是鏈接(即,它不是錨點)。這是一個跨度,圖像或其他元素,帶有onclick事件處理程序。

這是確保所有瀏覽器中不存在狀態欄文本的唯一方法,就像老式的JavaScript方法window.status =「」;現在在大多數瀏覽器中都沒有效果。

因此,舉例來說...

[Html] 
<img id="clickme" src="myimage.png" alt="My Image" title="Vote"> 

[JavaScript (jQuery)] 
$("#clickme").click(function() { alert("You clicked me"); }); 
3

當您使用<a>元素與一組href的狀態欄高亮纔會發生。

如果您使用純JavaScript打開您的鏈接,並且未指定href屬性,則狀態欄中不會顯示任何內容。

+1

...你會違反規則2:http://icant.co.uk/articles/pragmatic-progressive-enhancement/#build – Quentin 2010-02-05 13:35:17

+1

是的,但取決於場景,它可能無關緊要。我沒有看到在不違反規則的情況下做到這一點的可靠方法。 – 2010-02-05 13:55:38

0

如果你能看到(查看源代碼),就在旁邊的投票鏈接就不是一個鏈接,它是一個圖像。如果點擊它,它會在此鏈接上觸發一個ajax函數調用https://stackoverflow.com/posts/2207467/vote/,該函數更新數據庫。

7

舊版瀏覽器有類似window.status = "";的地方,您可以將消息發送到狀態欄,同樣有效地隱藏常規消息。

大多數瀏覽器不再支持此功能。

因此,如果您使用超鏈接 - 或更具體地說是錨點元素<a> - 與href屬性,則無法繞過狀態欄。

如果您查看了SO的HTML,您將看到投票向上的「鏈接」根本不是鏈接,而是一個帶有一些JavaScript事件處理程序的圖像,分配給onclick事件。

那麼爲什麼當鼠標懸停在「投票」上時,光標變成了那個尖的手指?這是因爲CSS cursor屬性。

.vote img { 
    cursor:pointer; 
} 

該CSS來自'all.css'樣式表。

相關問題