底線:我想禁用(使用jQuery)某些元素無法對焦,而不是移除已應用的焦點。我的問題可能是IE-8特定的,所以我會考慮IE-8專注的解決方案。使元素無法對焦
例如,我有一個month-nav,有時幾個月有時候可能不是有效的選擇,但我仍然想要呈現這個月份。而不是搞亂我的服務器端邏輯,並通過切換到一個跨度,而不是一個鏈接,無效的一個月我的標記複雜,我只是增加一個「無效」級的李(鏈接容器)
<li class="valid">
<a href="/subpubs/yearMonth/2011-1">Jan</a>
</li>
<li class="invalid">
<a href="/subpubs/yearMonth/2011-2">Feb</a>
</li>
[etc.]
這個jQuery的工作,關閉鏈接並移除焦點:
$('.invalid > a').click(function() { $(this).blur(); return false; });
但在IE8(雖然不是IE7,不知道IE9),由.blur()取消重點有足夠的延遲是有一個可見的眨眼(即使寂寞天的解決方案)。所以我想要另一種方法,或者只是修復IE8。
有沒有隻是禁用鏈接從根本上不能集中?
僅從可用性的角度來看,隱藏無效鏈接會不會更好?有一個不可點擊的鏈接可能會導致你的訪問者很多困惑。 – 2011-05-18 08:56:00
我同意上面的Rory - 就讓您的語義標記符合您的用戶體驗而言,不可點擊的鏈接是一個令人困惑的範例。另外,如果JS被關閉,你的鏈接仍然是可點擊的,這可能不是你想要的。在服務器上執行它真的很麻煩嗎? – 2011-05-18 09:14:48
@Rory:我會發現有一個說的清單,8個月,有些在中間失蹤更令人困惑:「他們爲什麼失蹤?這是一個錯誤?」此外,隨着內容選項的變化,有些月份會轉變位置(壞)。比如說,11月份沒有文章,但後來增加了文章。相反,顯示不可用的月份有一個清晰的視覺指示器,表明它不可用,不可點擊,(不*看*就像一個鏈接)清楚地表明沒有與該月相關的內容。使用link * tags *進行這項工作就是找到一個最容易實現的通用解決方案。 – Faust 2011-05-18 09:53:34