jQuery .live için Dojo eşdeğer nedir()?
http://api.jquery.com/live/olan()?
buldum tek çözüm olay işleyicileri dojo.disconnect ve yeniden bağlamak kez biçimlendirme dinamik parçası sayfasına eklendi bunları etmekti.
jQuery .live için Dojo eşdeğer nedir()?
http://api.jquery.com/live/olan()?
buldum tek çözüm olay işleyicileri dojo.disconnect ve yeniden bağlamak kez biçimlendirme dinamik parçası sayfasına eklendi bunları etmekti.
kullanım ve demo
dojo.query("body").delegate(selector, eventName, fn);
kodu -
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
}
});
bkz dojonun orijinal mixin benzeri
delegate
işlevini yeniden yazar
Yalnızca live
olarak değil, jQuery delegate
gibi daha genel olarak kullanabilirsiniz, çünkü belge düzeyinde live
temel olarak delegate
'dur.
Ben
Sadece
on(document, "xxx", function(){})
örn kullanmak dojo.behavior benzer işlevi gerçekleştirir düşünüyorum. jquery: $(".className").live(function(){})
dojoda, bu kadar evquilant edilir: Aslında on(document, ".className", function(){})
o jquery.live yaptığı iştir, bu işlevleri yerine getirmek için belgeye olayı bağlamak.
Sadece açıklama amacıyla, 'dolandırıcılık' fonksiyonu dojo 1.6 'nın tam sürümde' dojox.NodeList.delegate' gerektirerek kullanılabilir olmalıdır (bu modül biletin sonundaki değişiklik tablosunda görülebilir) cevapta). Merak ediyorsanız 1,6 RC kullanılabilir. http://download.dojotoolkit.org/release-1.6.0rc1/ –
Evet Sunulursa beri 1.6: http://dojotoolkit.org/reference-guide/dojox/NodeList/delegate.html#dojox-nodelist-delegate –