我有以下功能,我正在尝试使用默认值执行。
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: 'div.thumbnailNameProfileListingItem span'
到
delegate: 'span'
该函数会为现有的和后来添加的 DOM 元素调用。在 ExtJS 中使用委托是否有限制,因为它不允许选择器跨越父元素和子元素,或者我做错了什么?