दिलचस्प पोस्ट
यह कोड NSString को समान मानकर क्यों नहीं मानता है? क्यों करता है "extern const int;" काम के रूप में उम्मीद नहीं है? गोलांग में कस्टम पैकेज कैसे उपयोग करें? जावास्क्रिप्ट एक वस्तु में लगभग सब कुछ कैसे है? टकन्नेटर में एक बटन कमांड में तर्क कैसे पास करें? जावा आयत टकराव का पता लगाने भ्रम बैकपोर्टिंग पायथन 3 ओपन (एन्कोडिंग = "यूटीएफ -8") पायथन 2 में ओपनएसएसएल के साथ मेक्रिप्ट को बदलें Xcode एडिटर में मुझे लाइन नंबर कहां मिल सकता है? स्रोत फ़ाइलों के बीच चर को साझा करने के लिए मैं extern का उपयोग कैसे करूं? म्यूट एक्स उदाहरण / ट्यूटोरियल? मैं जेपीआरपी का उपयोग करके छवि को कैसे क्रॉप कर सकता हूं और इसे अपलोड कर सकता हूं? एंड्रॉइड में ऐप आइकन पर फेसबुक बैज नंबर कैसे जोड़ता है? सभी आधुनिक ब्राउज़रों में पृष्ठ ज़ूम स्तर कैसे पता लगा सकता है? जावा में डायमंड ऑपरेटर क्या है?

बिना माउस के बिना माउस की स्थिति कैसे प्राप्त करें?

क्या माउस लोड किए बिना माउस आंदोलन घटना के बिना पेज लोड किए जाने के बाद जावास्क्रिप्ट के साथ माउस की स्थिति प्राप्त करना संभव है?

Solutions Collecting From Web of "बिना माउस के बिना माउस की स्थिति कैसे प्राप्त करें?"

वास्तविक उत्तर: नहीं, यह संभव नहीं है।

ठीक है, मैंने अभी एक तरह से सोचा है। पूरे पृष्ठ को कवर करने वाली एक डिवा के साथ अपने पेज को ओवरले करें इसके अंदर, 2,000 x 2,000 <a> तत्व बनाएं (ताकि :hover छद्म-वर्ग आईई 6 में काम करेगा, देखें), आकार में प्रत्येक 1 पिक्सेल। एक सीएसएस बनाएं :hover उन तत्वों के लिए :hover नियम जो किसी संपत्ति को बदलते हैं (हम font-family कहते हैं)। आपके लोड हैंडलर में, 4 मिलियन <a> तत्वों में से प्रत्येक के माध्यम से चक्र, currentStyle / getComputedStyle() जब तक कि आप मंडराने वाले फ़ॉन्ट से कोई नहीं ढूंढें दस्तावेज के भीतर समन्वय प्राप्त करने के लिए इस तत्व से पीछे हटाना।

NB यह मत करो

आप माउससेटर को हुक कर सकते हैं (यह ईवेंट पन्ने को पुनः लोड करने के बाद निकाल दिया जाता है, जब माउसस्कारर पेज के अंदर होता है)। भ्रष्ट कोड का विस्तार करने की चाल करना चाहिए:

 var x = null; var y = null; document.addEventListener('mousemove', onMouseUpdate, false); document.addEventListener('mouseenter', onMouseUpdate, false); function onMouseUpdate(e) { x = e.pageX; y = e.pageY; } function getMouseX() { return x; } function getMouseY() { return y; } 

आप एक्स-वाई को माउसलेवे-इवेंट पर रिक्त करने के लिए भी सेट कर सकते हैं। तो आप देख सकते हैं कि उपयोगकर्ता आपके पृष्ठ पर कर्सर के साथ है या नहीं।

आप क्या कर सकते हैं आपके कर्सर के x और y निर्देशांकों के लिए चर बनाते हैं, जब भी माउस चालें और फ़ंक्शन को किसी फ़ंक्शन को एक स्थान पर कॉल करें, जो आपको संग्रहीत स्थिति में की जरूरत है।

इस कोर्स के लिए नकारात्मक पक्ष यह है कि माउस का कम से कम एक प्रारंभिक आंदोलन यह काम करने के लिए आवश्यक है। जब तक कर्सर कम से कम एक बार अपनी स्थिति का अद्यतन करता है, तब तक हम अपनी स्थिति को ढूंढने में सक्षम होते हैं, भले ही यह फिर से चलता है या नहीं।

 var cursorX; var cursorY; document.onmousemove = function(e){ cursorX = e.pageX; cursorY = e.pageY; } setInterval(checkCursor, 1000); function checkCursor(){ alert("Cursor at: " + cursorX + ", " + cursorY); } 

पूर्ववर्ती कोड एक बार एक संदेश के साथ अपडेट होता है जिसमें आपका कर्सर होता है। आशा है कि ये आपकी मदद करेगा।

आप टिम डाउन के सुझाव के जैसा कुछ भी करने की कोशिश कर सकते हैं – लेकिन स्क्रीन पर प्रत्येक पिक्सेल के तत्वों के बजाय, सिर्फ 2-4 तत्व (बक्से) बनाएं, और स्क्रीन पर अभी तक संभव स्थान को विभाजित करने के लिए गतिशील रूप से उनके स्थान, चौड़ाई, ऊंचाई को बदल दें 2-4 बार फिर से, इस प्रकार माउस वास्तविक स्थान को शीघ्रता से ढूंढना।

उदाहरण के लिए – पहले तत्व सही और बायां आधा स्क्रीन लेते हैं, उसके बाद ऊपरी और निचले आधे भाग होते हैं। अब तक हम पहले से ही जानते हैं कि माउस किस किनारे की स्क्रीन पर स्थित है, वे दोहरा सकते हैं – इस स्थान की कौन सी तिमाही खोजिए …

@ टिम डाउन का उत्तर निष्पादक नहीं है यदि आप 2,000 x 2,000 <a> तत्व प्रदान करते हैं:

ठीक है, मैंने अभी एक तरह से सोचा है। पूरे पृष्ठ को कवर करने वाली एक डिवा के साथ अपने पेज को ओवरले करें इसके अंदर, 2,000 x 2,000 तत्वों (कहें) बनाएँ (ताकि: छद्म छद्म-वर्ग आईई 6 में काम करेगा, देखें), आकार में प्रत्येक 1 पिक्सेल। एक सीएसएस बनाएं: उन तत्वों के लिए हॉवर नियम जो एक संपत्ति बदलते हैं (मान लें कि फोंट-परिवार)। अपने लोड हैंन्डलर में, 4 मिलियन तत्वों में से प्रत्येक के माध्यम से चक्र, मौजूदा स्टाइल / लाईकॉम्प्टेड स्टाइल () की जांच करें जब तक कि आप एक होवर फ़ॉन्ट के साथ नहीं पाते। दस्तावेज के भीतर समन्वय प्राप्त करने के लिए इस तत्व से पीछे हटाना।

NB यह मत करो

लेकिन आपको एक बार में 40 लाख तत्व प्रस्तुत करना नहीं है, इसके बजाय द्विआधारी खोज का उपयोग करें। बस इसके बजाय 4 <a> तत्वों का उपयोग करें:

  • चरण 1: प्रारंभिक खोज क्षेत्र के रूप में पूरी स्क्रीन पर गौर करें
  • चरण 2: खोज क्षेत्र को 2 x 2 = 4 आयताकार <a> तत्वों में विभाजित करें
  • चरण 3: getComputedStyle() फ़ंक्शन का उपयोग करना निर्धारित करें जिसमें आयताकार माउस घूमता है
  • चरण 4: खोज क्षेत्र को उस आयत में कम करें और चरण 2 से दोहराएं।

इस तरह आपको अधिकतम 11 बार इन चरणों को दोहराने की आवश्यकता होगी, आपकी स्क्रीन पर विचार 2048 पीएक्स से अधिक व्यापक नहीं है।

तो आप अधिकतम 11 x 4 = 44 <a> तत्व उत्पन्न करेंगे।

अगर आपको पिक्सेल पर माउस की स्थिति ठीक से निर्धारित करने की आवश्यकता नहीं है, लेकिन 10px सटीक ठीक कहें। आप अधिकतम 8 बार चरणों को दोहरा सकते हैं, इसलिए आपको अधिकतम 8 x 4 = 32 <a> तत्वों को आकर्षित करना होगा।

इसके अलावा भी <a> तत्वों को नष्ट करना और नष्ट करना कार्य नहीं करता है क्योंकि DOM आमतौर पर धीमा है इसके बजाय, आप केवल प्रारंभिक 4 <a> तत्वों का पुनः उपयोग कर सकते हैं और अपनी top , left , width और height को समायोजित कर सकते हैं top कि आप कदमों के माध्यम से लूप करते हैं

अब, 4 बनाना <a> एक ओवरकिल है इसके बजाय, प्रत्येक आयत में getComputedStyle() परीक्षण के लिए जब आप उसी <a> तत्व का पुनः उपयोग कर सकते हैं इसलिए, 2 x 2 <a> तत्वों में खोज क्षेत्र को विभाजित करने के बजाय केवल एक ही <a> तत्व को top और left शैली गुणों के साथ ले जाकर पुनः उपयोग में <a>

इसलिए, आपको केवल एक ही <a> तत्व तत्व की width और height अधिकतम 11 बार बदलना है, और इसके top और left अधिकतम 44 बार बदलना होगा और आपके पास सटीक माउस स्थिति होगी

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

आप अपने माता पिता के पृष्ठ पर जेहिंगिंग कोड का उपयोग कर सकते हैं ताकि नवीनतम स्थिति हमेशा एक वैश्विक चर में उपलब्ध हो।

 var cursorX; var cursorY; document.onmousemove = function(e){ cursorX = e.pageX; cursorY = e.pageY; } 

यह उन उपयोगकर्ताओं की सहायता नहीं करेगा जो आपके पृष्ठ से अन्य तरीकों से इस पृष्ठ पर नेविगेट करते हैं।

मैंने एक क्षैतिज / ऊर्ध्वाधर खोज को लागू किया है, (पहले एक क्षैतिज लाइन लिंक से भरा डिविज़ बनाकर क्षैतिज रूप से व्यवस्थित किया है, फिर क्षैतिज रेखा से जुड़ी एक पूर्ण लिंक्स को खड़ी रूप से व्यवस्थित करें, और केवल टाप डाउन की ओर ऊपर की तरह की तरह देखें) यह बहुत तेजी से काम करता है दुर्भाग्य से, क्रोम 32 पर KDE पर काम नहीं करता है।

jsfiddle.net/5XzeE/4/

 var x = 0; var y = 0; document.addEventListener('mousemove', onMouseMove, false) function onMouseMove(e){ x = e.clientX; y = e.clientY; } function getMouseX() { return x; } function getMouseY() { return y; } 

आपको कर्सर का स्थान प्राप्त करने के लिए माउस को स्थानांतरित करने की आवश्यकता नहीं है। स्थान भी माउसमेव के अलावा अन्य घटनाओं पर रिपोर्ट किया गया है उदाहरण के तौर पर यहां एक क्लिक-ईवेंट है :

 document.body.addEventListener('click',function(e) { console.log("cursor-location: " + e.clientX + ',' + e.clientY); });