2009-10-09 39 views
0

IE6:JavaScript的超級鏈接我使用JavaScript來排序的HTML超鏈接的表不工作

這類從低到高:

<a id="asc" href="#" onclick="javascript:sort('asc');">Low</a> 

在Firefox/Chrome的偉大工程/ Safari,但在IE6中不起作用。

Live site here.

點擊排序 「高」 或排序 「低」 的鏈接。

任何想法,爲什麼它在所有的瀏覽器IE6,但?

根本原因似乎是IE6並沒有將光標箭頭更改爲小手,以致超文本甚至可以點擊。現在,當我將鼠標懸停在與IE6的鏈接 - 排序鏈接,甚至沒有點擊

而且,我的網頁通過w3 validation,所以這不是問題

+4

因爲它是IE6 ...現在...如果它*工作*,那會令人困惑! – KyleFarris 2009-10-09 18:59:55

回答

1

嘗試:

<a id="asc" href="javascript:void(0)" onclick="displayHomeListings('asc');"> 

或者

<a id="asc" href="#" onclick="displayHomeListings('asc');"> 

理想情況下,如果在用戶瀏覽器上禁用了JavaScript,那麼您的點擊仍然會做出明智的選擇。在這種情況下,

<a id="asc" href="failsafe.html" onclick="displayHomeListings('asc'); return false;"> 

請注意在onclick結束時返回false。如果JS成功,則停止href被訪問。有關該主題的進一步討論,請參閱this SO帖子。

編輯:

與你有關的手/光標問題的其他信息

現在:

如果光標是不會改變的手時,懸停,這表明你對我有某種無效HTML和IE6無法以您期望的方式解析頁面。你有沒有試過通過HTML驗證器來運行它?試試http://validator.w3.org/

+0

不,不解決問題。奇怪的是,在IE6中,光標懸停在鏈接上時仍然是一個箭頭,並且永遠不會變成小手。這就像IE6甚至不知道它是一個鏈接 – 2009-10-09 18:57:54

+0

作出了編輯 - 也許嘗試第二個用例與#?請注意,我沒有javascript:在onclick字符串中。 – Matt 2009-10-09 19:00:57

+0

我沒有方便的IE6瀏覽器,我也不會在不知道背後是什麼的情況下訪問tinyurls,但是有可能IE6在JS displayHomeListings()中失敗,甚至可能在其他地方失敗。它比新的瀏覽器更脆弱。 – Matt 2009-10-09 19:02:18

1

不知道你是否反對使用jQuery,但它往往會解決很多這些跨瀏覽器的不兼容問題。

http://jquery.com

只是一個想法。

但是,我想補充什麼馬特說,你可以試試這個選項(通常在IE工程):

<a id="asc" href="javascript:displayHomeListings('asc'); void(0);">link</a> 

(只記得它不會無的JavaScript爲人民工作。 ..它只是不會做任何事情......)

+0

沒有去。根本問題是IE6不會將光標箭頭更改爲一個小手,以便超文本是可點擊的。 – 2009-10-09 19:04:58

+0

OHHHH ...它可能是一個CSS問題。 IE6在CSS上非常糟糕。確保沒有'position:absolute'元素覆蓋鏈接。我以前遇到過這個問題。事實上,我認爲我之前已經回答過關於SO的一個問題。 – KyleFarris 2009-10-09 19:09:37

+0

它可能是你的'tabbernav'元素。 – KyleFarris 2009-10-09 19:11:52