ext.js中还有其他事件我应该使用吗
Is there another event in ext.js I should use?
我有一个包含文本和图像的列。我正在尝试将事件添加到图像中。id是动态分配的。当我尝试绑定事件时,Ext.get("id")返回一个null。我可以看到渲染器在viewready之后运行,因为屏幕正在刷新。我应该尝试不同的DOM事件吗?
{
text: 'My Thing',
flex: 6,
sortable: true,
width: 40,
dataIndex: 'myThing',
renderer: function (val, metaData, record, rowIdx, colIdx, store, view) {
{console.log(evname, arguments);});
var returnStr = '<div>' + val + '</div>' + '<img id="image_' + record.data.myItem.id + '" src="/myThing/img/icon.png"/>';
console.log(returnStr);
return returnStr;
}
console.log('Im here');
for(var j=0; j<items.length; j++){
console.log(j)
var itemDesc = 'image_' + items[j].data.myItem.id;
var itemDescStr = items[j].data.lineItem.myItem.id;
console.log('itemDesc' + itemDesc)
console.log(Ext.get(itemDesc));
(function(itemDescStr) {
Ext.get(itemDesc).on('click', function(e,t){
console.log('image '+ itemDescStr + ' clicked');
});
})(itemDescStr);
}
"Ext.get(itemDesc)"正在返回null。
编辑:
我的临时解决方案是:
{
text: 'My Thing',
flex: 6,
sortable: true,
width: 40,
dataIndex: 'myThing'
renderer: function (val, metaData, record, rowIdx, colIdx, store, view) {
var returnStr = '<div><img id="image_' + record.data.myItem.id;
returnStr = returnStr + '" src="/myApp/resources/app/img/myIcon.gif" ';
returnStr = returnStr + 'onclick="Ext.foo(' + rowIdx + ')" />';
returnStr = returnStr + ' ' + val + '</div>';
return returnStr;
}
},
不要这样做,使用事件委派:
Ext.onReady(function() {
var grid = new Ext.grid.Panel({
width: 400,
height: 400,
renderTo: document.body,
store: {
fields: ['name'],
data: [{
name: 'Foo'
}, {
name: 'Bar'
}]
},
columns: [{
dataIndex: 'name',
renderer: function(v) {
return Ext.String.format('<div class="x">{0}</div><div class="y">{0}</div><div class="z">{0}</div>', v);
}
}],
listeners: {
cellclick: function(view, el, cellIdx, record, row, rowIdx, e) {
if (e.getTarget('.x')) {
console.log('x');
} else if (e.getTarget('.y')) {
console.log('y');
} else {
console.log('neither');
}
}
}
});
});
相关文章:
- 我应该/如何清除mousemove JQuery事件侦听器
- 我应该如何在backbone.mariente中测试/监视此类事件
- ext.js中还有其他事件我应该使用吗
- 我应该在点击上放置什么事件
- 我应该如何添加JavaScript onclick事件来链接到较低的文件夹
- 确定对象何时准备就绪.我应该使用事件吗
- 我应该使用什么事件在 jQuery 中异步提交表单
- 我应该使用window.onload事件吗?
- NodeJS&Socket.IO:发出请求事件并获取响应,我应该在何时/何地绑定侦听器
- 我应该将哪种事件类型与类型为“range”的输入一起使用
- JS:我应该在点击(或等效)事件中设置一个var/let吗?
- 我应该使用什么尝试并捕获块或错误事件
- Javascript:在删除相关HTML时,我应该删除一个事件处理程序吗
- 我应该为onchange表单提交什么Meteor事件处理程序
- 我应该在等待事件启动时明确创建一个承诺吗
- 我应该在React JS中使用自定义事件委派吗
- 我应该将.on('click')事件附加到文档或元素吗
- 我应该如何将事件绑定到使用JsBinder自定义标记创建的DOM元素
- 我应该在哪里添加JS事件,使我的链接工作
- 我应该如何改变一个变量为下一个兄弟点击事件与jquery