"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावास्क्रिप्ट के साथ टेक्स्ट में क्लिक किए गए शब्दों का कुशलतापूर्वक पता कैसे लगाएं?

जावास्क्रिप्ट के साथ टेक्स्ट में क्लिक किए गए शब्दों का कुशलतापूर्वक पता कैसे लगाएं?

2024-11-11 को प्रकाशित
ब्राउज़ करें:158

How to Efficiently Detect Words Clicked on in Text with JavaScript?

जावास्क्रिप्ट के साथ टेक्स्ट में क्लिक किए गए शब्दों का पता लगाएं

एक जावास्क्रिप्ट स्क्रिप्ट बनाते समय जो उपयोगकर्ताओं को उन पर क्लिक करके शब्दों का चयन करने की अनुमति देती है, प्रश्न उठता है: इसे कुशलतापूर्वक और सुरुचिपूर्ण ढंग से कैसे प्राप्त किया जा सकता है?

क्लास का उपयोग करके वर्बोज़ विधि पार्सिंग

एक सामान्य लेकिन थकाऊ दृष्टिकोण में संपूर्ण HTML को पार्स करना, प्रत्येक शब्द को रिक्त स्थान से अलग करना और प्रत्येक शब्द को एक तत्व में लपेटना शामिल है। फिर शब्द वर्ग पर क्लिक का पता लगाने के लिए एक इवेंट श्रोता को जोड़ा जाता है, और क्लिक किया गया शब्द $(this).innerHTML के माध्यम से प्राप्त किया जाता है। हालांकि यह विधि काम करती है, लेकिन इसका प्रदर्शन और सौंदर्यशास्त्र वांछित होने के लिए बहुत कुछ छोड़ देता है।

क्लास पार्सिंग के बिना अनुकूलित समाधान

अधिक कुशल और सुरुचिपूर्ण समाधान के लिए, निम्नलिखित पर विचार करें:

चरण 1: चयन कैप्चर करें

कैप्चर करने के लिए window.getSelection() का उपयोग करें उपयोगकर्ता का चयन।

चरण 2: शब्द सीमाओं को पहचानें

रिक्त स्थान से बचते हुए, क्लिक किए गए शब्द के शुरुआती और अंतिम बिंदुओं को निर्धारित करने के लिए चयन सीमा पर पुनरावृति करें।

चरण 3: क्लिक किए गए शब्द को पुनः प्राप्त करें

संयोजित करें क्लिक किए गए शब्द को बनाने के लिए चयन सीमा के भीतर वर्णों की पहचान की गई। $("।क्लिक करने योग्य").क्लिक करें(फ़ंक्शन (ई) { s = window.getSelection(); var रेंज = s.getRangeAt(0); var नोड = s.anchorNode; // प्रारंभिक बिंदु खोजें जबकि (range.toString().indexOf(' ') != 0) { रेंज.सेटस्टार्ट(नोड, (रेंज.स्टार्टऑफसेट - 1)); } रेंज.सेटस्टार्ट(नोड, रेंज.स्टार्टऑफसेट 1); // अंतिम बिंदु ढूंढें करना { रेंज.सेटएंड(नोड, रेंज.एंडऑफसेट 1); } जबकि ( रेंज.टूस्ट्रिंग().indexOf('') == -1 && रेंज.टूस्ट्रिंग().ट्रिम() != '' ); // चेतावनी परिणाम var str = रेंज.toString().trim(); चेतावनी(str); });

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3