निर्दिष्ट स्थान पर तत्व प्राप्त करें - जावास्क्रिप्ट


133

जावास्क्रिप्ट का उपयोग करके मैं किसी दिए गए स्थान पर तत्व की पहचान कैसे कर सकता हूं? मूल रूप से मैं एक फ़ंक्शन लिखने के लिए देख रहा हूं जो दो इनपुट पैरामीटर (x और y निर्देशांक) लेता है और पैरामीटर द्वारा दर्शाए गए स्क्रीन पर स्थिति पर html तत्व देता है।


जवाबों:


241

22
यदि केवल document.elementsFromPointसाथ ही थे - मामले में तत्व अतिव्यापी हैं।
सियारिया

2
मुझे आश्चर्य है कि यह ५.५ में काम किया है और आज इतना उपयोग नहीं किया जाता है।
व्लाद निकुला

मैंने इस पद्धति की कोशिश की है और यह दस्तावेज़ के अनुसार स्थिति को मापता है। मैं इसे मूल तत्व के सापेक्ष कैसे उपयोग करूं?
चरस

यदि समन्वय x, y पर है, तो उस स्थान पर मौजूद तत्व के बजाय आपको कोई फ़्रेम या iframe मिलेगा।
एल्म्यू

13
document.elementsFromPointहाल ही में उपलब्ध वेबकिट और गेको सक्षम ब्राउज़रों में उपलब्ध है, यद्यपि प्रयोगात्मक। MDN देखें ।
zopieux

27

आप मूल जावास्क्रिप्ट elementFromPoint(x, y)विधि का उपयोग कर सकते हैं , जो व्यूपोर्ट में x, y के निर्देश पर तत्व को लौटाता है।

देखें एलिमेंटफ्रॉमप्वाइंट डब्ल्यू 3 सी ड्राफ्ट

और, एक कोड नमूना:

function changeColor(newColor) {
    // Get the element placed at coords (2, 2)
    var elem = document.elementFromPoint(2, 2);
    // Set the foreground color to the element
    elem.style.color = newColor;
}
<p id="para1">Change this text color using the following buttons.</p>
<button onclick="changeColor('blue');">Blue</button>
<button onclick="changeColor('red');">Red</button>

आप setInterval()तत्व के होवर ईवेंट को लगातार जांचने के लिए उपयोग कर सकते हैं, लेकिन यह अनुशंसित नहीं है, .hover(...)एप्लिकेशन प्रदर्शन को बढ़ाने के बजाय उपयोग करने और सीएसएस करने का प्रयास करें ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.