2011-02-22 16 views
13

jQuery के बराबर डोजो क्या है। Live()?
http://api.jquery.com/live/jQuery के बराबर डोजो क्या है। लाइव()?

एकमात्र समाधान मैंने पाया ईवेंट हैंडलर्स dojo.disconnect और पुन: कनेक्ट होने के लिए उन्हें एक बार मार्कअप के एक गतिशील टुकड़ा पेज को जोड़ा गया है करने के लिए किया गया था।

उत्तर

14

उपयोग और 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 
    } 
}); 

ticket#11459

देखने के पुनर्लेखन मूल mixin की तरह delegate डोजो के समारोह

आप इसे अधिक सामान्य रूप से jQuery delegate जैसे live पर उपयोग कर सकते हैं, क्योंकि live मूल रूप से दस्तावेज़ स्तर पर delegate है।

+2

सिर्फ स्पष्टीकरण के लिए, 'प्रतिनिधि' समारोह 'dojox.NodeList.delegate' की आवश्यकता के द्वारा Dojo 1.6 की पूरी रिलीज में उपलब्ध होना चाहिए (इस मॉड्यूल को टिकट से जुड़े परिवर्तन के अंत में परिवर्तन में देखा जा सकता है जवाब में)। यदि आप उत्सुक हैं तो 1.6 आरसी वर्तमान में उपलब्ध है। http://download.dojotoolkit.org/release-1.6.0rc1/ –

+0

हां यह 1.6 के बाद उपलब्ध है: http://dojotoolkit.org/reference-guide/dojox/NodeList/delegate.html#dojox-nodelist-delegate –

1

मैं dojo.behavior समान कार्य लगता है

0

बस

on(document, "xxx", function(){}) 

जैसे का उपयोग करें। jQuery में: $(".className").live(function(){})

डोजो में, यह करने के लिए evquilant है: on(document, ".className", function(){})

असल कि jquery.live क्या करता है, यह समारोह को प्राप्त करने के दस्तावेज़ के लिए घटना के लिए बाध्य।

संबंधित मुद्दे