Event.target, Event.toElement और Event.srcElement में क्या अंतर है?


88

मेरे पास निम्नलिखित कोड हैं:

document.oncontextmenu = function(evt) {
    evt = evt || window.event;
    console.log(evt.target, evt.toElement, evt.srcElement);
};

सही माउस बटन पर क्लिक करके <div class="foo"></div>, यह लौटाता है:

div.foo, div.foo, div.foo

सही माउस बटन पर क्लिक करके <input>, यह लौटाता है:

इनपुट, इनपुट, इनपुट

सभी एक ही परिणाम लाने लगते हैं। क्या कोई स्थिति है कि उनमें से एक का दूसरों की तुलना में अलग-अलग उपयोग है?

जवाबों:


81

घटना लक्ष्य तत्व है जो करने के लिए घटना भेजा जाता है है:

वह वस्तु जिसके लिए DOM ईवेंट प्रवाह का उपयोग करके किसी घटना को लक्षित किया जाता है । घटना लक्ष्य Event.target विशेषता का मूल्य है ।

srcElementएक IE गैर मानक तरीका प्राप्त करने के लिए है target

वर्तमान घटना लक्ष्य तत्व है जो घटना श्रोता जो वर्तमान में शुरू हो जाती है है:

ईवेंट फ़्लो में, वर्तमान ईवेंट लक्ष्य ईवेंट हैंडलर से संबद्ध ऑब्जेक्ट है जिसे वर्तमान में भेजा जा रहा है। यह ऑब्जेक्ट घटना का लक्ष्य स्वयं या उसके पूर्वजों में से एक होना चाहिए । वर्तमान घटना लक्ष्य के रूप में बदल जाता है घटना विभिन्न माध्यम से वस्तु को वस्तु से propagates चरणों घटना प्रवाह की। वर्तमान ईवेंट लक्ष्य Event.currentTargetविशेषता का मूल्य है ।

thisईवेंट श्रोता के अंदर का उपयोग वर्तमान ईवेंट लक्ष्य प्राप्त करने का एक सामान्य (और मानक) तरीका है।

कुछ प्रकार की घटनाओं में एक है relatedTarget:

EventTargetएक UI ईवेंट से संबंधित द्वितीयक की पहचान करने के लिए उपयोग किया जाता है , जो ईवेंट के प्रकार पर निर्भर करता है।

fromElementऔर toElementIE गैर मानक तरीके प्राप्त करने के लिए कर रहे हैं relatedTarget


7
मैं "संस्करण" का उपयोग क्रोम संस्करण 60 में कर रहा हूं - क्या आपको यकीन है कि यह "आईई गैर-मानक तरीका" है?
पांडावुड

2
MSDN का कहना है कि यह "गैर-मानक 'है और" वेब के सामने आने वाले उत्पादन स्थलों पर इसका इस्तेमाल नहीं करते हैं ": developer.mozilla.org/en-US/docs/Web/API/Event/srcElement
TetraDev

नवीनतम क्रोम "ई-क्लेमेंट" का समर्थन करता है, लेकिन मोज़िला फ़ायरफ़ॉक्स का नहीं। मुझे मोज़िला में कुछ मामलों का समर्थन करने के लिए 'लक्ष्य' संपत्ति का उपयोग करना पड़ा।
विशाल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.