पर जोड़ने पर ट्रिगर जावास्क्रिप्ट इवेंट क्या कोई जानता है कि डीओएम में जोड़े जाने के बाद किसी तत्व के लिए जावास्क्रिप्ट में किसी ईवेंट को ट्रिगर कैसे करें?डीओएम
सामान्य विचार कुछ इस तरह है:
var elem = document.createElement('div');
elem.addEventListener('ON_ADD_TO_BODY', function(){console.log(elem.parentNode)});
//... LATER ON ...
parentElemInBody.appendChild(elem); // <- Event is triggered here after append
कुछ कार्यों कि जब तक आप डोम के लिए तत्व जोड़ तो यह समझ बनाने होगा निष्पादन में देरी करने के लिए जब तक तत्व जोड़ दिया जाता है ट्रिगर नहीं किया जाना चाहिए ।
क्या इसे बाद में कॉल करने की स्पष्ट आवश्यकता के बिना ऐसा करने का कोई तरीका है या मुझे कुछ हैक करना चाहिए जिसमें setTimeout
शामिल है और यह देखने के लिए एक जांच है कि तत्व अभी तक डोम में जोड़ा गया है या नहीं?
मुझे उन लोगों को भी पता नहीं था! मुझे IE9 का समर्थन करने की आवश्यकता है- हालांकि :(और प्रदर्शन हिट पर उन टिप्पणियां बहुत आश्वस्त नहीं हैं। मुझे पता है कि मैंने इस प्रश्न में निर्दिष्ट नहीं किया है कि आपका उत्तर सही है लेकिन मुझे इसे सभी को ध्यान में रखना होगा। क्या कोई संकर दृष्टिकोण है, कम से कम, आईई 9- – sgcharlie
का समर्थन करता है जो उपरोक्त का समर्थन नहीं करते हैं, आपको एक टाइमर रोल करना पड़ सकता है जो समय-समय पर मूल तत्व के बच्चों की जांच करता है और कुछ कॉलबैक ट्रिगर करता है। – techfoobar
उत्परिवर्तन घटनाओं को अब के लिए बहिष्कृत किया गया है। इसके बजाय [उत्परिवर्तन पर्यवेक्षकों] (https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver) का उपयोग करने पर विचार करें। – ZitRo