jQueryの.live()と同等のDojoは何ですか?
http://api.jquery.com/live/jQueryの.live()に相当するDojoは何ですか?
私が見つけた唯一の解決策は、イベントハンドラを切断し、ダイナミックなマークアップをページに追加した後に再接続することでした。
jQueryの.live()と同等のDojoは何ですか?
http://api.jquery.com/live/jQueryの.live()に相当するDojoは何ですか?
私が見つけた唯一の解決策は、イベントハンドラを切断し、ダイナミックなマークアップをページに追加した後に再接続することでした。
使用とdemo
dojo.query("body").delegate(selector, eventName, fn);
コード -
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
}
});
参照道場のオリジナルミックスイン状
delegate
機能を書き換えます
live
は基本的にドキュメントレベルでdelegate
なので、より一般的にはlive
のように、jQuery delegate
のように使用できます。
私はdojo.behaviorは、同様の機能
ちょうど
on(document, "xxx", function(){})
などを使用して行いだと思います。 jqueryの中で:実はそれはjquery.liveが、それが機能を達成するために、文書にイベントをバインドしないものですon(document, ".className", function(){})
:道場で$(".className").live(function(){})
、にevquilantです。
'delegate'関数は' dojox.NodeList.delegate'を要求することでDojo 1.6の完全なリリースで利用可能になるはずです(このモジュールはリンクされたチケットの最後にチェンジセットで見ることができます答えに)。あなたが興味があるなら、現在1.6 RCが利用可能です。 http://download.dojotoolkit.org/release-1.6.0rc1/ –
はい、1.6以降利用可能です:http://dojotoolkit.org/reference-guide/dojox/NodeList/delegate.html#dojox-nodelist-delegate –