我在Ext JS 2.x中编写了一个包装器UX控件,Ext.Form.DateField以稍微不同的方式处理按键.特别是,当显示日历时,我希望Tab键选择突出显示的日期并移动到下一个表单字段.
我已经让密钥处理程序工作了 - 它选择了突出显示的日期并关闭了日历 - 但我无法将其设置为tab到下一个字段.
我是否必须从Tab键顺序中找出下一个字段的内容并尝试设置其焦点?这似乎相当复杂.或者我可以触发一些事件来让我的控件自动切换到下一个字段(即捕获Tab日历中的按键并处理它,就像我正在做的那样,然后将它转发到基础日期字段)?
编辑:总之,是否有一种Ext(或至少是跨平台)的方式来触发特定表单字段的键盘事件?
我在页面上有一个ExtJs文本字段.我在casper.js中填充了一些值,工作正常.
然后我想要关注这个字段并按下Enter键,因为<form>它周围没有提交.
我试过的是:
casper.then(function() {
// the text field is filled with the string
this.sendKeys('#searchfield', 'some text');
this.evaluate(function() {
// this does not put the field in focus
document.querySelector('#searchfield').focus();
// so 'pressing' enter has no effect at all
var evt = document.createEvent('KeyboardEvent');
evt.initKeyboardEvent('keypress', true, true, window, 0, 0, 0, 0, 0, 13);
document.dispatchEvent(evt);
});
});
Run Code Online (Sandbox Code Playgroud)
你知道怎么做到这一点吗?
我们有一个很大的ExtJS(仍然是ExtJs 2)应用程序,它在Java EE服务器上提供类似Windows资源管理器的功能.我们现在评估实现新功能; 我们可以将此功能基于jQuery插件.
是否建议在一个应用程序中使用jQuery和ExtJs?或者我是否必须处理发生的副作用?