Dojo tương đương với jQuery .live() là gì?
http://api.jquery.com/live/Dojo tương đương với jQuery .live() là gì?
Giải pháp duy nhất tôi tìm được là dojo.disconnect trình xử lý sự kiện và kết nối lại sau khi thêm một đoạn đánh dấu động.
Dojo tương đương với jQuery .live() là gì?
http://api.jquery.com/live/Dojo tương đương với jQuery .live() là gì?
Giải pháp duy nhất tôi tìm được là dojo.disconnect trình xử lý sự kiện và kết nối lại sau khi thêm một đoạn đánh dấu động.
sử dụng và demo
dojo.query("body").delegate(selector, eventName, fn);
mã - viết lại bản gốc mixin giống như delegate
chức năng của võ đường
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
}
});
thấy ticket#11459
Bạn có thể sử dụng điều này thường giống như jQuery delegate
, không chỉ là live
, bởi vì live
về cơ bản là delegate
ở cấp tài liệu.
Tôi nghĩ dojo.behavior thực hiện chức năng tương tự
Chỉ cần sử dụng
on(document, "xxx", function(){})
ví dụ. trong jquery: $(".className").live(function(){})
ở võ đường, nó được evquilant tới: on(document, ".className", function(){})
Trên thực tế đó là những gì jquery.live không, nó ràng buộc sự kiện để các tài liệu để đạt được các chức năng.
Chỉ vì mục đích làm rõ, chức năng 'delegate' sẽ có sẵn trong bản phát hành đầy đủ của Dojo 1.6 bằng cách yêu cầu' dojox.NodeList.delegate' (mô-đun này có thể thấy trong changeset ở cuối vé được liên kết trong câu trả lời). 1.6 RC hiện có sẵn nếu bạn tò mò. http://download.dojotoolkit.org/release-1.6.0rc1/ –
Có sẵn từ 1.6: http://dojotoolkit.org/reference-guide/dojox/NodeList/delegate.html#dojox-nodelist-delegate –