तो मैं समझता हूँ कि आपकी आवश्यकता को सही ढंग से, एक तरीका यह है Live Query प्लग-इन के साथ है।
लाइव क्वेरी ... एक समारोह (कॉलबैक) आग करने की क्षमता है, जब यह एक तत्व नहीं अब मिलान किया है जब के लिए एक नए तत्व और एक अन्य समारोह (कॉलबैक) से मेल खाता है
उदाहरण के लिए:
$('#someRegion a').livequery(function(){
do_something();
});
अद्यतन: चूंकि डीओएम परिवर्तन jQuery के माध्यम से नहीं चल रहे हैं, दुर्भाग्य से लाइवक्वेरी उन्हें नहीं देखता है। मैंने
this answer में मतदान-आधारित समाधान से पहले इस मुद्दे पर विचार किया और विचार किया।
अद्यतन: मतदान एक प्रकार का बदसूरत है, लेकिन यदि वास्तव में कोई अन्य विकल्प नहीं है, तो यहां एक मतदान-आधारित समाधान है जो लाइव "लाइव" परिवर्तन करने के लिए एक jQuery "डमी" हेरफेर का उपयोग करता है। यदि आप कॉलबैक विधि में जुड़ने के लिए कोई विकल्प नहीं है तो आप केवल अंतिम उपाय के रूप में इस तरह कुछ विचार करना चाहते हैं।
$('div#container').livequery(function(){
$(this).css('color','red'); // do something
});
और फिर setInterval()
, यहाँ एक सुविधा समारोह में लिपटे का उपयोग करें::
function pollUpdate($el, freq){
setInterval(function(){
$el.toggleClass('dummy');
}, freq);
};
तो तुम हो सकता है:
सबसे पहले, ऊपर livequery कंटेनर जहां अपडेट हो जाएगा देख सेट
$(document).ready(function(){
pollUpdate($('div#container'), 500);
});
यहां एक working example है।JQuery के बिना नए डोम तत्व जोड़ने के लिए बटन पर क्लिक करें, और आप देखेंगे कि वे उठाए गए हैं (अंततः) और लाइवक्वायरी द्वारा पुन: स्थापित। सुंदर नहीं है, लेकिन यह काम करता है।
अपडेट पैनेल किसी भी घटना को ट्रिगर नहीं करता है, या आप किसी भी कॉलबैक की पेशकश कर सकते हैं? – Magnar