我不想重複標題中的文字嗎?這是可能的任何JavaScript,jQuery的,CSS解決方案?或任何可以禁用顯示alt =文本並啓用title = texr並作爲工具提示的解決方案?有沒有一種方法來顯示alt =「文本」作爲Firefox中的鼠標懸停工具提示,就像IE自動執行的一樣?
回答
alt
文本用於替代表示圖像。 title
文本是爲工具提示。
IE的行爲是不正確在這方面,Firefox永遠不會實現它。 (在Bugzilla的數據庫中的錯誤是#25537,這驗證WONTFIX。)
不僅如此,但即使Microsoft has admitted that their behavior is incorrect,並IE 8不顯示alt
文本提示了!
所以不要依靠alt
文本顯示爲工具提示。改爲使用title
。
我知道,但我不想再次重複ALT文本作爲標題文本,並希望顯示在兩個瀏覽器鼠標的工具提示。 – 2009-11-14 17:03:37
@Jitendra:不管怎樣,你不應該爲'title'重複'alt'文本。 'alt'文本應該是你希望用戶看到他們是否**不能看到圖像,而'title'應該是工具提示。如果你在HTML中定義了「alt」和「title」,IE將使用'title'作爲工具提示。所以如果你只想爲所有現代瀏覽器使用一個元素,可以使用'title',而不是'alt'! – 2009-11-14 17:08:41
正確的方法是使用標題屬性。
例如
<div title="This is your tooltip">...content...</div>
的「alt」屬性僅設計提供「替代」文本時的圖像元素被使用(但不提供給用戶...例如盲人用戶,或用戶提供基於文本的瀏覽器等。 )
您剛剛說過,盲人用戶無法看到圖像,但他們可以看到指定的Alt文本? :o – 2009-11-14 17:12:30
@Rakesh Juyal:盲人用戶將擁有屏幕閱讀軟件。屏幕閱讀器可以閱讀**文字**,但不能閱讀圖像。 – 2009-11-14 17:15:27
@Daniel:gr8我從來不知道它thanx +1 – 2009-11-14 17:29:48
就像scunliffe說的那樣,正確的方法是在title
屬性中。它更好地遵守標準,而不是依靠IE的非標準行爲。請記住,title屬性是爲可以看到圖像的用戶提供的工具提示,alt文本適用於不能(雖然他們也可以看到標題)的用戶。如果這真的讓你感到迷惑,你可以使用javascript來爲所有圖片設置標題屬性爲alt屬性,給你一個跨瀏覽器的效果。 :d
事情是這樣的:
var images=document.getElementsByTagName("img");
for (var item in images) {
item.title = item.alt;
}
OR(W3 DOM風格)
for (var item in images) {
item.setAttribute("title", item.getAttribute("alt"));
}
OR(jQuery的)
$("img").each(function() { this.attr("title", this.attr("alt")); }
(沒有測試任何這些尚未,所以可能需要稍作修改)
重複使用'title'屬性的'alt'文本對於可訪問性來說是個壞主意。事實上沒有相同的文本適用於兩者的情況。 – 2009-11-14 17:11:50
這是我寫這個答案時的第一點陳述之一,但我想不出一個好例子。你能提供一個嗎? :D – 2009-11-15 16:00:02
這些都不起作用 – 2010-02-12 08:25:09
請注意,用戶可以通過將高級配置參數browser.chrome.toolbar_tips
設置爲false
來抑制Firefox中的title
屬性工具提示。
但是你根本沒有得到任何工具提示,這不是OP想要的。 – 2009-11-14 17:20:42
此jQuery tooltip腳本將採用標題的內容並將其顯示在工具提示(包括HTML格式)中。雖然它並不修復顯示替代文本的IE錯誤,但可以在加載頁面後添加一些腳本來清除alt屬性;但如前所述,這是一個壞主意,因爲它不會允許文檔閱讀器按照設計工作。
我不想從源代碼中刪除替代文本。我想在所有瀏覽器中使用標題文本作爲工具提示 – 2009-11-15 10:33:41
戈登的回答是有益的,但jQuery的不工作的原因是因爲this
需求是一個jQuery選擇的,像這樣的對象:
jQuery("img").each(function(){ jQuery(this).attr("title",jQuery(this).attr("alt") ) });
有人還缺少)
收出功能.each()
。
- 1. TreeNode鼠標懸停工具提示沒有顯示
- 2. 鼠標懸停顯示像jQuery工具提示一個div
- 3. C#DataGridView在鼠標懸停的每一行顯示工具提示文本
- 4. 如何在鼠標懸停的gridview行中顯示工具提示文本?
- 5. 爲標籤的一部分顯示工具提示時,懸停
- 6. 鼠標懸停和鼠標移動的WPF工具提示
- 7. Bootstrap工具提示沒有顯示在按鈕上的第一次鼠標懸停操作
- 8. Jquery UI.Datepicker:顯示鼠標懸停的工具提示
- 9. 從fullcalender的monthview鼠標懸停不顯示工具提示?
- 10. 在TableView的鼠標懸停上顯示工具提示
- 11. 鼠標懸停和ajax工具提示
- 12. 允許鼠標懸停工具提示
- 13. 懸停工具提示顯示圖像
- 14. 我如何獲得Stackoverflow/Stackexchange - 就像標籤懸停工具提示一樣?
- 15. 顯示沒有懸停事件的jQuery UI工具提示
- 16. Intellij IDE工具提示沒有顯示懸停的描述
- 17. 將鼠標懸停在CPTPlotSymbol上時顯示工具提示
- 18. ImageMapster - 在鼠標懸停時未顯示工具提示
- 19. 顯示工具提示,當鼠標懸停在對象unity3d
- 20. Firefox沒有在鼠標懸停上顯示console.log
- 21. alt和title沒有顯示出來作爲工具提示SVG路徑
- 22. 檢測鼠標懸停並在HTML畫布上顯示工具提示文本
- 23. 當鼠標懸停在文本上時jQuery工具提示
- 24. 工具提示沒有顯示在懸停
- 25. 顯示Tipsy工具提示沒有懸停?
- 26. 在點擊鼠標後顯示工具提示,當鼠標懸停時
- 27. 圖像懸停 - 鼠標顯示爲文本圖標?
- 28. 顯示MVC3中的鼠標懸停事件的工具提示WebGrid
- 29. Javascript:顯示鼠標懸停在textarea中的某個單詞的工具提示
- 30. Objective-C - 有沒有一種方法讓對象直接執行方法IMP,就好像它自己一樣?
這是Internet Explorer將替代文本顯示爲工具提示的一個錯誤。 (微軟可能會稱這是一個功能,但替代文本僅用於在圖像無法顯示時顯示。) – Gumbo 2009-11-14 17:22:51