এপিআই দ্বারা সরবরাহিত "কাঁচা" সরঞ্জামগুলি ছাড়াওMutationObserver
, ডিওএম মিউটেশনগুলির সাথে কাজ করার জন্য "সুবিধা" লাইব্রেরি রয়েছে।
বিবেচনা করুন: মিউটেশনউসারবার সাবট্রির ক্ষেত্রে প্রতিটি ডোম পরিবর্তনের প্রতিনিধিত্ব করে। সুতরাং আপনি যদি উদাহরণস্বরূপ কোনও নির্দিষ্ট উপাদান inোকানোর জন্য অপেক্ষা করেন তবে এটি শিশুদের ভিতরে গভীর হতে পারেmutations.mutation[i].addedNodes[j]
।
আরেকটি সমস্যা হ'ল যখন আপনার নিজস্ব কোড, মিউটেশনের প্রতিক্রিয়াতে, ডম পরিবর্তন করে - আপনি প্রায়শই এটিকে ফিল্টার করতে চান।
একটি ভাল সুবিধার লাইব্রেরি যা এই জাতীয় সমস্যাগুলি সমাধান করে mutation-summary
(অস্বীকৃতি: আমি লেখক নই, কেবলমাত্র একজন সন্তুষ্ট ব্যবহারকারী), যা আপনাকে আগ্রহী সে সম্পর্কিত প্রশ্নগুলি নির্দিষ্ট করতে সক্ষম করে এবং ঠিক এটি পেয়ে যায়।
দস্তাবেজগুলির বুনিয়াদি ব্যবহারের উদাহরণ:
var observer = new MutationSummary({
callback: updateWidgets,
queries: [{
element: '[data-widget]'
}]
});
function updateWidgets(summaries) {
var widgetSummary = summaries[0];
widgetSummary.added.forEach(buildNewWidget);
widgetSummary.removed.forEach(cleanupExistingWidget);
}
([{}])
কনসোলে লগইন করেছি , যাMutationRecord
আমি এটিতে ক্লিক করলে প্রত্যাশিত দেখায় । দয়া করে আবার যাচাই করুন, কারণ এটি জেএসফিডেলে কোনও অস্থায়ী প্রযুক্তিগত ব্যর্থতা হতে পারে। আমি এখনও IE তে এটি পরীক্ষা করিনি, যেহেতু আমার কাছে আইই 10 নেই, যা বর্তমানে মিউটেশন ইভেন্টগুলি সমর্থন করার একমাত্র সংস্করণ।