介紹的onfocus和onblur

2008年10月7日,上午十一時差2分托德Kloots | 輔助功能發展 | 評論關閉

早在今年4月,PPK撰寫博客條目“ 委託中,他提出了一個解決問題的重點和模糊事件 ,既沒有在任何瀏覽器中的重點或模糊事件的泡沫。 他的解決辦法(focus和blur登記捕捉階段的事件監聽器),是任何開發人員都希望避免從離散的重點和約束力,可聚焦元素的模糊事件處理程序,可能導致代碼膨脹和性能瓶頸的祝福。

我們喜歡 PPK的解決方案,決定回答他的電話,並在他的話說,“... ...這些可怕聰明的JavaScript librar [IES]使用這項技術 ... ...”,。 因此,對於2.6版,我們已經推出PPK的解決方案分為兩個事件實用程序的addFocusListeneraddBlurListener和addBlurListener ( onFocus onBlur onfocus和onblur )。 這兩個新方法封裝了一些本質堅韌不拔的支持在我們所有的技術的A級瀏覽器,同時提供你addListener從糖addListener事件實用程序的方法。 這些新方法的簽名如下:

onFocus(el, fn, obj, override)
oBlur(el, fn, obj, override)

這兩種方法的參數如下:

EL
一個 ID,一個元素的引用,或ID和/或分配聽者的元素的集合。
FN
事件調用的方法。
OBJ
任意對象將作為參數傳遞給一個處理程序。
覆蓋
如果為 true覆蓋,通過在obj成為聽者的執行範圍。 如果一個對象,這個對象成為執行的範圍。

使用onfocus和onblur

這裡有幾種方法,我們已經取得了onFocus onfocus onBlur onblur銳2.6的方法:

提高業績的模式對話框

為了支持方式,對話框構件需要回本身直接關注的一個元素,不是它的一個孩子時接收焦點。 在此之前,這是完成註冊文檔中的每一個可聚焦元素的焦點事件偵聽器,當一個模態對話框是可見的,並消除這些偵聽器時,它被隱藏,被證明是昂貴和緩慢的過程。 使用PPK的技術,我們已經能夠提高50%以上,在大多數瀏覽器最初顯示一個模態對話框所花費的時間,並提高所花費的時間隱藏了90%以上的模態對話框。 為了測試,我們使用一個250可聚焦元素 下面是如何突破的數字為每個瀏覽器:

最初250可聚焦元素顯示在YUI 2.5.2和YUI 2.6.0頁面上的一個模式對話框部件的時間(以毫秒為單位)
瀏覽器 YUI 2.5.2 YUI 2.6.0 %快速
FF 3的Mac OS 10.4 245 107 56
FF 3 WIN XP 158 88 44
FF 2的Mac OS 10.4 368 161 56
FF 2 WIN XP 320 131 59
歌劇院 9.5的Mac OS 10.4 103 93 10
歌劇 9.5 WIN XP 71 60 15
IE 7的 200 70 65
IE 6 220 121 45
Safari 3.1中 53 18 66
時間(毫秒)250可聚焦元素隱藏在YUI 2.5.2和YUI 2.6.0頁面上的一個模式對話框部件
瀏覽器 YUI 2.5.2 YUI 2.6.0 %快速
FF 3的Mac OS 10.4 65 1 98
FF 3 WIN XP 57 1 98
FF 2的Mac OS 10.4 198 2 99
FF 2 WIN XP 221 0 100
歌劇院 9.5的Mac OS 10.4 531 1 100
歌劇 9.5 WIN XP 380 0 100
IE 7的 381 30 92
IE 6 371 40 89
Safari 3.1中 48 1 98

提高菜單鍵盤輔助

WAI - ARIA最佳實踐菜單菜單部件使用的新onFocus方法在文檔級重點聽取,這樣,當一個彈出式菜單是隱藏的焦點,可以恢復到DOM中的元素,焦點之前,它是可見的。

在傳送帶焦點反饋

新的傳送帶部件的外觀包裝每個Next和Previous按鈕<input type="button">元素在<span> 關閉屏幕<input>元素,然後定位和背景圖像應用到每個<span> 雖然這種技術允許 Next和Previous按鈕,以保持與實際的下一個和上一個隱藏的按鈕關閉屏幕,屏幕閱讀器的用戶訪問,有遠見的用戶並沒有收到任何反饋,從任一按鈕時聚焦的UI。 為了解決這個問題,傳送帶使用onFocus方法適用於一類,突出重點提綱的按鈕到下一頁和上一頁按鈕。

當然,這些僅僅是我們使用的幾個onFocus onfocus onBlur onblur -我們認為這將證明,我們已經把它添加到我們的核心銳和銳為基礎的應用有用,使得它可用於任何應用程序基礎上YUI的事件工具上。

分享和擴展: 書籤del.icio.us | Digg它! | 書籤交易!

還沒有評論

抱歉,評論形式此時關閉。

主辦雅虎

版權所有© 2006-2012雅虎公司保留所有權利。 隱私政策 - 服務條款

支持WordPress的關於雅虎 虛擬主機