我尝试在extjs4中的标签上添加click事件但不能正常工作
Ext.onReady(function() {
var ResetLabel = new Ext.form.Label({
id:'ResetLabel',
text: 'click it',
renderTo : document.body
});
alert(Ext.getCmp('ResetLabel').id);
Ext.getCmp('ResetLabel').on('click',function(){
alert("message");
});
});
如何在标签上添加事件?
答案 0 :(得分:5)
此代码适用于Extjs 4
Ext.onReady(function() {
var ResetLabel = new Ext.form.Label({
id:'ResetLabel',
text: 'click it',
renderTo : document.body
});
alert(Ext.getCmp('ResetLabel').getEl());
Ext.getCmp('ResetLabel').getEl().on('click',function(){
alert("message");
});
});
答案 1 :(得分:3)
试试这个:
Ext.onReady(function() {
var ResetLabel = new Ext.form.Label({
id:'ResetLabel',
text: 'click it',
listeners: {
click: function(){
alert("message");
}
},
renderTo : document.body
});
alert(Ext.getCmp('ResetLabel').id);
});
答案 2 :(得分:3)
{ xtype: 'label', listeners: { element: 'el', click: function () { alert(); } } }
答案 3 :(得分:1)
是的,对我来说也不起作用,尝试了所有的例子......
检查一下,这有效吗
var ResetLabel = new Ext.form.Label({
id:'ResetLabel',
text: 'click it'
});
Ext.onReady(function() {
Ext.getCmp('ResetLabel').getEl().on('click',function(){
alert("message");
});
});
我正在将ResetLabel添加到我的面板中。
答案 4 :(得分:1)
我正在使用ExtJS 3.4之上的旧代码库,以下内容适用于我。我想它也适用于更高版本。
new Ext.form.Label({
"html": "Halp!",
"listeners": {
/* We are going to assing the click event right after the element has rendered */
"afterrender": function () {
this.getEl().on( "click", function () {
console.log( "Clicked!" );
});
}
}
});
答案 5 :(得分:0)
我更喜欢更短的时间来更快地理解这个想法:
// Adding abcent label event through its dom-structure:
myLabel.getEl().on(
"click",
onClickMyLabel);