介绍的onfocus和onblur
2008年10月7日,上午十一时差2分托德Kloots | 辅助功能 , 发展 | 评论关闭早在今年4月,PPK撰写博客条目“ 委托中,他提出了一个解决问题的重点和模糊事件 ,既没有在任何浏览器中的重点或模糊事件的泡沫。 他的解决办法(focus和blur登记捕捉阶段的事件监听器),是任何开发人员都希望避免从离散的重点和约束力,可聚焦元素的模糊事件处理程序,可能导致代码膨胀和性能瓶颈的祝福。
我们喜欢PPK的解决方案,决定回答他的电话,并在他的话说,“... ...这些可怕聪明的JavaScript librar [IES]使用这项技术... ...”,。 因此,对于2.6版,我们已经推出PPK的解决方案分为两个事件实用程序的addFocusListener : addBlurListener和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页可聚焦元素 。 下面是如何突破的数字为每个浏览器:
| 浏览器 | 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 |
| 浏览器 | 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它! | 书签交易!
还没有评论
抱歉,评论形式此时关闭。

