যদিও নিম্নলিখিতগুলি প্রকৃতপক্ষে প্রশ্নের উত্তর দিচ্ছে না, যেহেতু এটি গুগলিংয়ের প্রথম ফলাফল (গুগলার একই প্রশ্নটি না জিজ্ঞাসা করতে পারে :), আশা করি এটি কিছু অতিরিক্ত ইনপুট সরবরাহ করবে।
মাউসটি বর্তমানে সমস্ত উপাদানগুলির তালিকা সংগ্রহের জন্য দুটি পৃথক পদ্ধতি রয়েছে (সম্ভবত নতুন ব্রাউজারগুলির জন্য):
"কাঠামোগত" পদ্ধতির - আরোহী ডিওএম ট্রি
Dherman এর উত্তর হিসাবে, কেউ কল করতে পারেন
var elements = document.querySelectorAll(':hover');
যাইহোক, এটি ধরে নিয়েছে যে কেবলমাত্র শিশুরা তাদের পূর্বপুরুষদের উপর চাপ দেবে, যা সাধারণত ক্ষেত্রে হয় তবে সাধারণভাবে সত্য নয়, বিশেষত এসভিজির সাথে ডিল করার সময় যেখানে ডম গাছের বিভিন্ন শাখায় থাকা উপাদান একে অপরের সাথে ওভারল্যাপ করতে পারে।
"ভিজ্যুয়াল" পদ্ধতির - "ভিজ্যুয়াল" ওভারল্যাপিংয়ের উপর ভিত্তি করে
এই পদ্ধতিটি document.elementFromPoint(x, y)
শীর্ষস্থানীয় উপাদানটি সন্ধান করতে ব্যবহার করে অস্থায়ীভাবে এটিকে আড়াল করে রাখে (যেহেতু আমরা একই সাথে তা পুনরুদ্ধার করি, ব্রাউজারটি আসলে এটি সরবরাহ করে না), তারপরে দ্বিতীয় শীর্ষস্থানীয় উপাদানটি সন্ধান করুন ... কিছুটা হ্যাকি দেখায়, তবে এটি যখন আপনি প্রত্যাশা করেন তা প্রত্যাবর্তন করে যখন কোনও গাছে ভাইবোন উপাদান একে অপরকে সংযুক্ত করে রাখে। দয়া করে এটি এই পোস্টে অধিক বিবরণের জন্য,
function allElementsFromPoint(x, y) {
var element, elements = [];
var old_visibility = [];
while (true) {
element = document.elementFromPoint(x, y);
if (!element || element === document.documentElement) {
break;
}
elements.push(element);
old_visibility.push(element.style.visibility);
element.style.visibility = 'hidden'; // Temporarily hide the element (without changing the layout)
}
for (var k = 0; k < elements.length; k++) {
elements[k].style.visibility = old_visibility[k];
}
elements.reverse();
return elements;
}
উভয়ই চেষ্টা করে দেখুন এবং তাদের পৃথক আয় দেখুন check