2014-04-22 3 views
5

जावास्क्रिप्ट के लिए अलग-अलग समन्वय प्रणाली हैं, जैसे e.clientX, e.screenX।जावास्क्रिप्ट में लेयरएक्स और ऑफसेटएक्स के बीच अंतर

मैं उन दो अच्छी तरह से समझता हूं, लेकिन कुछ e.layerX और e.offsetX जैसे हैं। ये दोनों मेरे लिए बहुत स्पष्ट नहीं हैं।

क्या कोई मेरे लिए उन दो समन्वयों को समझा सकता है?

+0

https://developer.mozilla.org/en-US/docs/Web/API/event.layerX। V12 के बाद से –

उत्तर

15

offsetX/offsetY माइक्रोसॉफ्ट द्वारा माउस इवेंट ऑब्जेक्ट्स के लिए एक साफ विस्तार है, और माउस पॉइंटर की स्थिति लक्ष्य तत्व के लिए अपेक्षाकृत है। अफसोस की बात है, वे फ़ायरफ़ॉक्स द्वारा लागू नहीं किए गए हैं, और मूल बिंदु क्या होना चाहिए इसके बारे में अन्य ब्राउज़रों के बीच विसंगति है: आईई सोचता है कि यह सामग्री बॉक्स है, जबकि क्रोम, ओपेरा और सफारी पैडिंग बॉक्स (जो अधिक समझ में आता है , क्योंकि यह पूरी तरह से स्थित तत्वों की एक ही उत्पत्ति है)।

layerX/layerYMouseEvent वस्तुओं छिपकली आधारित ब्राउज़र द्वारा परिभाषित की संपत्ति हैं (फ़ायरफ़ॉक्स एट अल।)। कुछ कहते हैं कि वे offsetX/offsetY के लिए विकल्प हैं - वे नहीं हैं। वे अपेक्षाकृत "निकटतम स्थित तत्व" के लिए माउस की स्थिति हैं, यानी एक तत्व जिसका position शैली संपत्ति static नहीं है। यह लक्ष्य तत्व नहीं है यदि यह स्थिर रूप से स्थित है।

वे क्रोम और ओपेरा द्वारा समर्थित हैं, लेकिन उन्हें हटा दिया गया है और जल्द ही हटा दिया जा रहा है। तो उनके बारे में भूल जाओ।

+0

'ऑफसेटएक्स' /' ऑफ़सेट वाई 'फ़ायरफ़ॉक्स में रहा है। – aleclarson

1

लेयरएक्स और लेयरवाई घटना को आग लगाने वाले तत्व के निकटतम स्थित पूर्वजों तत्व के शीर्ष-बाएं कोने के सापेक्ष माउस पॉइंटर के क्रमशः एक्स-समन्वय, वाई-समन्वय को पुनर्प्राप्त करता है।

ऑफसेटएक्स, ऑफ़सेट वाई ऑफ-एक्स के समन्वय के तत्व के मूल तत्व के ऑफसेट के शीर्ष-बाएं कोने से संबंधित माउस पॉइंटर के एक्स-समन्वय, वाई-निर्देशांक सेट करता है या पुनर्प्राप्त करता है। ऑफ़सेट अभिभावक तत्व डोम पदानुक्रम में निकटतम पूर्वजों तत्व का संदर्भ देता है जिससे वर्तमान तत्व की स्थिति की गणना की जाती है।

संबंधित मुद्दे