我有以下函数,我试图用默认值执行。
init: function(userConfig) {
var config = {};
Ext.apply(config, userConfig, {
delegate: 'div.thumbnailNameProfileListingItem span'
});
Ext.getBody().on({
scope: this,
click: function(a, b, c, d, e) {
console.log(a);
},
delegate: config.delegate
});
}
init();
当我单击由“delegate”属性的默认值表示的DOM元素时,不会调用提供给“click”的函数。此时DOM中尚不存在这些元素,稍后会由另一个用户触发的事件添加它们。
但是当我从
更改“delegate”属性的值时delegate: 'div.thumbnailNameProfileListingItem span'
到
delegate: 'span'
为现有和后来添加的DOM元素调用该函数。在ExtJS中使用委托是否存在限制,因为它不允许在父元素和子元素之间跨越选择器,或者我在做其他错误吗?
答案 0 :(得分:1)
我无法解决问题,所以我决定将“delegate”属性中的选择器缩减为:
delegate: 'span.profileItemClick'
它完成了这项工作。