网站大量收购独家精品文档,联系QQ:2885784924

1-8-键盘导航.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1-8-键盘导航

键盘导航控制鼠标指针来得快;二、用不了鼠标,可用性。 为了演示键盘完全控制,我们修改复杂布局的例子,并且增加“快捷键”,使得人们操作起来更快速流畅。 学习完这篇教程后,相信大家不但会懂得键盘导航的基本所需知识,而且还能够学习,如何利用KeyNav,KeyMap和FocusManager这几个类来联合实现键盘导航。 入门 例 complex.html 和 complex.js 文件。记得还要一份ExtJS4在同一目录底下,而且记住要改名为“ext”。 焦点管理器 焦点管理器提供键盘导航功能。只是一句如下: Ext.FocusManager.enable(true); 在Ext.onReady里调用即可传入一个true的布尔值表示要在表单的焦点区域显示聚焦框很快看出焦点在哪里。用户按下回车键可以进入应用程序,然后出入不同“层面”,按下回车表示下一步的层面,Esc 键表示返回上一层面。按下 Tab 键可以在处于同一水平相邻的几个元素之间来回切换。 纯粹的元素周围导航用 FocusManager 来做。但你可能会发现,某些无法访问(如 Grid),或在屏幕上得到相当繁琐。要解决这个我们采用“快捷方式”,这将允许用户在应用程序某些面板中作的轻松跳转。 是否要为面板而设置快捷键,看看是否满足以下的条件: 用得频率高不高? 作为一个锚吗?操作是否符合直觉? 如果答对了里面其中一项,都表示你可以替你的最终用户添加上命令的快捷方式。 KeyNav KeyNav 所负责的职责就是提供“导航键”部分的按键。所谓“导航键”,罗列如下: Enter Space Escape Tab Left Right Up Down Page Up Page Down Home EndDelete Backspace 不过请谨记,部分用户上的机子,却是没有某些键的,例如,苹果机用户便没有Page Up、Page Down、Del、Home或End键。var nav = Ext.create(Ext.util.KeyNav, my-element, { left : function(e){this.moveLeft(e.ctrlKey);}, right : function(e){this.moveRight(e.ctrlKey);}, enter : function(e){this.save();}, scope : this }); KeyNav 可以说为方向键而设的,于是我们把例子中本来用 tab、回车、esc 键控制的命令(切换不同的面板),转换为方向键控制的。var nav = Ext.create(Ext.util.KeyNav, Ext.getBody(), { left : function(){ var el = Ext.FocusManager.focusedCmp; if (el.previousSibling()) el.previousSibling().focus(); }, right : function(){ var el = Ext.FocusManager.focusedCmp; if (el.nextSibling()) el.nextSibling().focus(); }, up : function() { var el = Ext.FocusManager.focusedCmp; if (el.up()) el.up().focus(); }, down : function() { var el = Ext.FocusManager.focusedCmp; if (el.items) el.items.items[0].focus(); }, scope : this }); 当前我们通过 focusedCmp 来聚焦组件。这样,我们的应用程序就能更方便的控制起来了。下面我们进入键盘图部分,看看如何增加特殊功能的键。 KeyMap KeyMap对象元素,闭合的区域展开。var map = Ext.create(Ext.util.KeyMap, my-element, { key: 13, // or Ext.EventObject.ENTER ctrl: true, shift: false, fn: myHandler, scope: myObject }); 第一个配置项属性key是键对应的数值。下面两个配置项ctrl和shift,分别表示

文档评论(0)

cj80011 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档