वहाँ एक मुहावरेदार तरह से करने के लिए डोम प्रोटोटाइप पुस्तकालय का उपयोग कर के परिवर्तन सुनता है?

वोट
2

मैं डोम परिवर्तन घटनाओं के लिए एक श्रोता जोड़ने की कोशिश कर रहा हूँ। ': लोड डोम' प्रोटोटाइप में शामिल किया हुआ था मैं के रूप में सरल कुछ उम्मीद कर रहा था। मैं 'प्रोटोटाइप तरह से' इस संभाल करने के बारे में सुनिश्चित नहीं हूँ।

संपादित करें: मैं हर मामले में जो डोम बदला जा सकता है नियंत्रित नहीं कर सकते, तो मैं दूर हर डोम परिवर्तन पर एक कस्टम घटना फायरिंग के साथ नहीं मिल सकता है।

16/01/2009 को 17:04
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


4 जवाब

वोट
1

मैं सुझाव है कि आप के लिए प्रलेखन पर एक नज़र डालें Event.observe प्रोटोटाइप दस्तावेज़ से।

लोड: एक उदाहरण के डोम का उपयोग कर के रूप में

document.observe("dom:loaded", function() {     
                // Some Javascript Code
                  });

और Event.observe का एक उदाहरण

$('step_anchor_' + i).observe('click', function(a, b){
        return function(){pm.loadData(a, b, true)};
            }(profile.steps[i].action, profile.steps[i].dao_id)
                   );

मैं बाहर बिंदु चाहिए स्पष्ट रूप से दस्तावेज़ भी एक समारोह देख सकते हैं कि विशेष रूप से इस तरह के डोम के रूप में पूरे दस्तावेज पर घटनाओं के लिए सुनने के लिए डिज़ाइन किया गया है है कि: भरी हुई।

16/01/2009 को 18:29
का स्रोत उपयोगकर्ता

वोट
3

कोई मानक इसे देखना हैंडलर है। हालांकि, अगर आप प्रोटोटाइप में कस्टम घटनाओं आग कर सकते हैं। Function.wrap के साथ संयुक्त, आप वास्तव में आप क्या जरूरत है ऐसा करने में सक्षम होना चाहिए।

अनिवार्य रूप से, आप किसी भी समारोह है कि इस तरह के Element.insert () के रूप में डोम, संशोधित कर सकते हैं लेते हैं, और एक समारोह है कि आपके परिवर्तन ईवेंट सक्रिय साथ लपेट:

Element.prototype.insert = Element.prototype.insert.wrap(
function(original) {
    var ret = original.call(this, $A(arguments).slice(1));
    document.fire('dom:changed');
}.bind(this)
);

है, जो Event.observe साथ देखा जा सकता है (): अब, जब भी आप Element.insert कहते हैं, यह बदल डोम 'सक्रिय हो जाएगा।

मैं गारंटी नहीं दे सकते मैं सिर्फ क्या लिखा है 100% सही है और न ही 100% बहुमुखी है, लेकिन यह आपके लिए प्रारंभ करने चाहिए।

16/01/2009 को 18:46
का स्रोत उपयोगकर्ता

वोट
0

$ (तत्व) .observe ( 'क्लिक', समारोह (घटना) {someFunction (घटना);}); // someFunction क्लिक करें घटना पर बुलाया जाएगा। यह किसी अन्य घटना के लिए बदला जा सकता है।

http://prototypejs.org/api

तत्व पर जाएं और अधिक देखने के लिए।

16/01/2009 को 19:42
का स्रोत उपयोगकर्ता

वोट
0

मैं यहाँ लगता है उचित जवाब है: जावास्क्रिप्ट हर डोम तत्वों पर "onDomChange" के लिए सुन सकते हैं? । DOMSubtreeModified की जाँच करें, DOMNodeInserted आदि

07/04/2011 को 18:39
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more