将单击事件添加到显示字段
Adding a click event to displayfield
我希望在我的extjs应用程序中进行内联编辑:我创建了一个简单的表单,里面充满了显示字段,旁边有一个小图标,宣布它们是可编辑的。我希望它们在点击时成为实际的字段。
我在这里看到过类似的问题,但没有答案。
这是我的表格:
var editPic = "<img src='https://s3.amazonaws.com/bzimages/pencil.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',
// handleFieldChanged: function() {
// console.log('click el');
// },
//
// listeners: {
// add: function(me, component, index) {
//// if( component.isFormField ) {
// component.on('click', me.handleFieldChanged, me);
//// }
// }
// },
items: [
{name: 'id', hidden: true},
{
name: 'name',
fieldLabel: 'Name',
afterSubTpl: editPic,
cls: 'editable',
listeners: [
{
element: 'element',
delegate: '.editable',
event: 'click',
fn: function() {
console.log('Edit Now!');
}
}
]
},
{name: 'status', fieldLabel: 'Status'}
]
});
这是我的控制器中的控件:
this.control({
'test-edit': {
afterrender: this.beenRendered
},
'test-edit > displayfield': {
click: this.updateTestField
}
});
updateTestField: function(button) {
console.log('field clicked');
},
beenRendered: function() {
console.log('Rendered!'); // Getting here
var myDiv = Ext.get(".editable"); // Doesn't find anything
myDiv.on("click",handleClick);
function handleClick(e, t){ // e is not a standard event object, it is a Ext.EventObject
e.preventDefault();
console.log('clicked');
}
},
据我所知,字段没有监听点击事件。我该如何制作它们?正如你在上面看到的,我已经尝试了很多方法。afterrender事件效果很好。
也许我应该用一个监视点击事件的容器来封装字段?
任何线索都将不胜感激。
使用getEl()
方法定义字段。
df.getEl().on('click', function(){});
您可以使用el
属性:
..
beenRendered: function(df) {
console.log('Rendered!'); // Getting here
var el = df.el;
el.on("click",handleClick);
function handleClick(e, t){
e.preventDefault();
console.log('clicked');
}
}
el是Ext.Element(html dom的包装器)w/c的一个实例,您可以使用它来处理事件。
相关文章:
- 如果选择单选按钮,则显示字段
- 将单击事件添加到显示字段
- 如何在android中提取和显示字段
- yii2:依赖于Action的条件显示/显示字段
- ExtJs组合框显示字段编码
- 用于显示字段的工具提示和显示 Jquery 验证中的错误的工具提示器
- 根据输入值隐藏/显示字段
- 实时表编辑其他 mySQL 表中的显示字段
- ExtJS 5:显示字段绑定性能
- EXT JS :在组合框中,如何为不在存储中的记录设置显示字段
- 带有模板的显示字段
- ExtJS 4 组合框在表单绑定上显示值字段而不是显示字段
- web2py控件窗体,选择选项时显示字段
- HTML表单根据所选内容切换隐藏/显示字段
- 隐藏和显示字段集
- 如何制作html5和java脚本中所需的显示字段?下面是我的代码
- Javascript:阻止浏览器在按下向下键时显示字段的输入历史记录
- 反应 ― 显示字段但获取对象
- 如何根据编辑页上复选框中的值隐藏和显示字段
- 在asp.net中选择单选按钮值时隐藏/显示字段