【发布时间】:2013-03-07 11:45:47
【问题描述】:
我有一个numberfield 输入,我想在用户按下回车键时失去焦点。
这是当前配置:
{
xtype: 'numberfield',
minValue: 0,
maxValue: 99999,
hideTrigger: true,
keyNavEnabled: false,
mouseWheelEnabled: false,
enableKeyEvents: true,
listeners: {
specialkey: function(f, e) {
if (e.getKey() == e.ENTER)
f.blur();
}
}
}
specialkey 处理程序正常工作,按预期调用blur(),但唯一的结果是插入符号从输入中消失(表明 DOM 文本输入元素已被模糊)。该字段仍然具有所有 x-form-focus 等 css 类,并且检查对象表明私有 hasFocus 属性仍然为 true。
有什么建议吗?
我曾尝试在blur() 调用之后显式调用f.onBlur(),但没有任何区别。
(顺便说一句,该字段不属于表单,因此没有要提交的表单。)
【问题讨论】:
-
聚焦另一个组件怎么样?甚至它的父容器...
-
@VoidMain - 欢呼,但与调用 blur() 的结果相同
-
如果你打电话给
f.up().focus();它不会让f失去它的重点课程吗? -
快速提问:您是单独打电话给
f.up().focus(),还是之前打电话给f.blur()?本地测试表明,如果我调用f.blur()调用f.up().focus()它,不知何故,被忽略了...... -
@VoidMain focus() 单独,但尝试两者都会得到相同的结果