ExtJS中防止包容元素之间的事件屏蔽
ExtJS中的KeyNav和KeyMap是两个用来处理键盘事件的类,它们默认的工作模式都是屏蔽了浏览器的默认事件和事件起泡的。即如下的默认配置。
KeyMap: ? ?stopEvent: true,
KeyNav:? ?defaultEventAction: stopEvent,
所以当我们有两层或者三层的包容元素需要使用相同的键盘键相应事件时,就会发生,内层元素屏蔽了外层包容元素的事件响应,究其原因,就是ExtJS阻止了事件起泡至外层的包容元素。
?
本例当中,使用相同的键盘键“Key Down”来分别响应TabPanel的tab切换,FormPanel的焦点切换,ComboBox的选项选择。使用键盘键"Enter"进行三种模式之间的切换。
?
程序运行结果如下:
1. Tab切换
?
2. Form焦点切换
?3. ComboBox选项选择
?
?程序代码如下