作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望我的字段在失焦时提交。 (模糊事件)。触发提交的事件是一个 ENTER 键事件。所以我这样做了:
outOfFocus: function(field, event) {
console.log('Lost focus');
field.fireEvent('specialkey', field,
Ext.create('Ext.EventObject', {
key: Ext.EventObject.ENTER
})
);
},
但它不起作用。Firebug 说了一些关于:TypeError: c is not a constructor.
有什么想法吗?
评论中要求的更多周围代码:
形式:
var editPic = "<img src='https://s3.amazonaws.com/bzimages/pencil.png' alt='edit' height='24' width='24' style='margin-left: 10px;'/>";
var submitPic = "<img id='submitPic' src='https://s3.amazonaws.com/bzimages/submitPic.png' alt='edit' height='24' width='24'/>";
Ext.define('BM.view.test.Edit', {
extend: 'Ext.form.Panel',
alias: 'widget.test-edit',
layout: 'anchor',
title: 'Edit Test',
defaultType: 'displayfield',
items: [
{name: 'id', hidden: true},
{
name: 'name',
fieldLabel: 'Name',
afterSubTpl: editPic,
cls: 'editable'
},
{
name: 'nameEdit',
fieldLabel: 'Name',
xtype: 'textfield',
hidden: true,
cls: 'editMode',
allowBlank: false,
afterSubTpl: submitPic
}
]
});
Controller :
this.control({
'test-edit > displayfield': {
afterrender: this.showEditable
},
'test-edit': {
afterrender: this.formRendered
},
'test-edit > field[cls=editMode]': {
specialkey: this.editField,
blur: this.outOfFocus
}
});
这足以理解我在做什么吗?
最佳答案
我找到了答案。这似乎不够充分,但仍然可以完成工作。
我重用了触发此函数调用的事件:
outOfFocus: function(field, event) {
console.log('Lost focus');
event.keyCode = event.ENTER;
field.fireEvent('specialkey',field, event);
},
仍在寻找更好的方法来做到这一点。
关于javascript - 如何通过特殊键 ENTER 使用 fireEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12128475/
我是一名优秀的程序员,十分优秀!