uso y demo
dojo.query("body").delegate(selector, eventName, fn);
código - reescribe el original mixin como delegate
función del 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
}
});
ver ticket#11459
Puede usar esto más generalmente como jQuery delegate
, no solo como live
, porque live
es básicamente un delegate
en el nivel del documento.
En aras de la aclaración, la función 'delegate' debe estar disponible en la versión completa de Dojo 1.6 requiriendo' dojox.NodeList.delegate' (este módulo se puede ver en el conjunto de cambios al final del ticket vinculado) en la respuesta). 1.6 RC actualmente está disponible si tiene curiosidad. http://download.dojotoolkit.org/release-1.6.0rc1/ –
Sí, está disponible desde 1.6: http://dojotoolkit.org/reference-guide/dojox/NodeList/delegate.html#dojox-nodelist-delegate –