Ответ 1
и демо
dojo.query("body").delegate(selector, eventName, fn);
code - перезаписывает оригинальную функцию типа delegate
, подобную mixin, dojo
dojo.provide("dojox.NodeList.delegate");
dojo.require("dojo.NodeList-traverse");
dojo.extend(dojo.NodeList, {
delegate: function ( selector,eventName, fn) {
return this.connect(eventName, function (evt) {
var closest = dojo.query(evt.target).closest(selector, this);
if (closest.length) {
fn.call(closest[0], evt);
}
}); //dojo.NodeList
}
});
см. билет # 11459
Вы можете использовать это в целом как jQuery delegate
, а не только как live
, потому что live
в основном delegate
на уровне документа.