javascript - Defining a reference to an element to be stored in JSON format without using the element's class or id -
मैं यह जानना चाहता हूं कि मैं लक्ष्य को लक्ष्य < / Strong> JSON में संग्रहित किए जाने वाले किसी भी क्लिक ईवेंट के तत्व (स्थानांतरण के लिए)
समाधान को लक्ष्य के वर्ग या आईडी का उपयोग करने पर भरोसा नहीं करना चाहिए।
विशेष रूप से, जब भी कोई तत्व (जो नहीं हो सकता वर्ग या
आईडी ) पृष्ठ पर क्लिक किया जाता है, I 'लक्षित तत्व के संदर्भ को परिभाषित करने की कोशिश कर रहा हूं जिसका उपयोग ट्रांसफर के लिए
JSON प्रारूप में संग्रहीत किया जा सकता है ताकि मैं इसे एक समान पृष्ठ में उपयोग कर सकूं।
उदाहरण उपयोग:
यह एक ऐसा परीक्षण है जहां 2 या अधिक उपयोगकर्ता अलग-अलग डिवाइसों से एक ही इंटरफ़ेस में एक साथ काम कर रहे हैं
- ए सहयोग एप्लिकेशन जो 2 उपयोगकर्ता समान पृष्ठों को सेवा देता है:
उपयोगकर्ता 1:
& lt; body & gt; & Lt; div class = "body-wrapper" & gt; & Lt; बटन & gt; यहां क्लिक करें & lt; / button & gt; & Lt; / div & gt; & Lt; div & gt; & Lt; बटन & gt; मुझे क्लिक करें & lt; / button & gt; & Lt; div & gt; & Lt; बटन & gt; या मुझे क्लिक करें & lt; / button & gt; & Lt; / div & gt; & Lt; / div & gt; & Lt; / body & gt; उपयोगकर्ता 2: (समान)
-
जब बटन "मुझे क्लिक करें" एक क्लिक ईवेंट का लक्ष्य है, तो श्रोता किसी तरह से वापस आ जाता है उस बटन के संदर्भ में कि मैं वेब पर भेज सकता हूँ (यहाँ जहां JSON प्रारूप आवश्यक हो जाता है)
-
परिणाम: मैं उपयोगकर्ता 2 के डोम में उस बटन पर क्लिक कर सकते हैं ।
संपादित करें:
जवाब की टिप्पणी में संक्षेप में चर्चा के रूप में, इवेंट प्रतिनिधिमंडल का उपयोग करने के लिए उपयोग किया जा सकता है गतिशील रूप से उत्पन्न सामग्री क्या यह इवेंट प्रतिनिधिमंडल के साथ इस प्रश्न के उत्तर का उचित संयोजन है?
$ (दस्तावेज़) .on ("mouseup mousedown click mousemove", फ़ंक्शन (e) {var तत्व = e.target.index ("body *"); socket.emit ("घटना", तत्व, ई);});
यदि दोनों पृष्ठों पर DOM समान है, तो आप तत्व के सूचकांक का उपयोग कर सकते हैं DOM:
$ ("बटन")। क्लिक करें (फ़ंक्शन () {var position = $ (this) .index ("body *"); // सर्वर पर "स्थिति" भेजें ...} प्राप्त पृष्ठ पर, आप इसके साथ संबंधित बटन पा सकते हैं:
$ ("body *")। Eq (स्थिति) ; आप के बारे में पूछे जाने वाले इवेंट प्रतिनिधिमंडल को करने का सही तरीका है:
$ (document) .on ("mouseup mousedown click mousemove", " बटन, चेकबॉक्स, विकल्प ", फ़ंक्शन (ई) {var element = $ (this)। इंडैक्स (" body * "); socket.emit (" event ", element, e);}); उन सभी प्रकार के तत्व प्रकारों की सूची को बदलें, जिन्हें आपको क्लिक पर पकड़ने की आवश्यकता है।
Comments
Post a Comment