दिलचस्प पोस्ट
सार्वजनिक / बाह्य आईपी पता प्राप्त करें? कैसे एक .js फ़ाइल में एक वैश्विक चर घोषित करने के लिए क्लोन चयन मूल्यों को क्लोनिंग नहीं कर रहा है जीवन के खेल के साथ जारी जावा: सूची को मानचित्र में कनवर्ट कैसे करें एक IOS 7 पारदर्शी UINavigationBar के लिए उज्ज्वल, उज्ज्वल रंग प्राप्त करना Preg_replace_callback के साथ पदावनत preg_replace / e को बदलें कैसे PHP में ऑब्जेक्ट्स को कास्ट करें सप्ताहांत के बिना दिन का अंतर आधार वर्ग को व्युत्पन्न कक्षा अजगर (या विस्तारित वर्गों का अधिक अजगर) एक्लिप्स के लिए सबसे अच्छी जेवीएम सेटिंग्स क्या हैं? आईआईवी पर UIView और UILabels पर ढाल यूआरएल में एपरसेंड से बचें XDebug को अक्षम कैसे करें config.assets.compile = रेल उत्पादन में सच है, क्यों नहीं?

जब माउस विंडो छोड़ता है तो मैं कैसे पता लगा सकता हूँ?

मुझे पता लगाना है कि जब माउस विंडो को छोड़ता है, तो मैं सक्षम हो जाना चाहता हूं ताकि उपयोगकर्ता की माउस अन्य जगह पर गोलीबारी से बंद हो सके।

यह कैसे करने के लिए कोई विचार?

वेब के समाधान से एकत्रित समाधान "जब माउस विंडो छोड़ता है तो मैं कैसे पता लगा सकता हूँ?"

इस प्रकार का व्यवहार आमतौर पर एक html पृष्ठ पर ड्रैग-ड्रॉप व्यवहार को लागू करते समय वांछित होता है। नीचे दिए गए समाधान को आईई 8.0.6, फ़ायरफ़ॉक्स 3.6.6, ओपेरा 10.53 और सफारी 4 पर एमएस विंडोज एक्सपी मशीन पर परीक्षण किया गया था।
पीटर-पॉल कोच से पहले एक छोटा सा समारोह; क्रॉस ब्राउज़र ईवेंट हैंडलर:

function addEvent(obj, evt, fn) { if (obj.addEventListener) { obj.addEventListener(evt, fn, false); } else if (obj.attachEvent) { obj.attachEvent("on" + evt, fn); } } 

और फिर दस्तावेज़ ऑब्जेक्ट माउसआउट इवेंट में ईवेंट हैंडलर को संलग्न करने के लिए इस विधि का उपयोग करें:

 addEvent(document, "mouseout", function(e) { e = e ? e : window.event; var from = e.relatedTarget || e.toElement; if (!from || from.nodeName == "HTML") { // stop your drag event here // for now we can just use an alert alert("left window"); } }); 

अंत में, यहां डीबगिंग के लिए एम्बेड किए गए स्क्रिप्ट के साथ एक html पृष्ठ है:

 <html> <head> <script type="text/javascript"> function addEvent(obj, evt, fn) { if (obj.addEventListener) { obj.addEventListener(evt, fn, false); } else if (obj.attachEvent) { obj.attachEvent("on" + evt, fn); } } addEvent(window,"load",function(e) { addEvent(document, "mouseout", function(e) { e = e ? e : window.event; var from = e.relatedTarget || e.toElement; if (!from || from.nodeName == "HTML") { // stop your drag event here // for now we can just use an alert alert("left window"); } }); }); </script> </head> <body></body> </html> 

यदि आप jQuery का प्रयोग कर रहे हैं तो इस लघु और मीठी संहिता के बारे में –

 $(document).mouseleave(function () { console.log('out'); }); 

यह ईवेंट ट्रिगर होगा जब भी आप अपने पृष्ठ में माउस नहीं चाहते हैं। बस जो भी आप चाहते हैं वह करने के लिए फ़ंक्शन बदलें

और आप इसका उपयोग भी कर सकते हैं:

 $(document).mouseenter(function () { console.log('in'); }); 

ट्रिगर करने के लिए जब माउस फिर से पृष्ठ पर वापस जाता है

स्रोत: https://stackoverflow.com/a/16029966/895724

यह मेरे लिए काम करता है:

 addEvent(document, 'mouseout', function(evt) { if (evt.toElement == null && evt.relatedTarget == null) { alert("left window"); } }); 

इनमें से कोई भी उत्तर मेरे लिए काम नहीं करता है मैं अब उपयोग कर रहा हूं:

 document.addEventListener('dragleave', function(e){ var top = e.pageY; var right = document.body.clientWidth - e.pageX; var bottom = document.body.clientHeight - e.pageY; var left = e.pageX; if(top < 10 || right < 20 || bottom < 10 || left < 10){ console.log('Mouse has moved out of window'); } }); 

मैं एक ड्रैग और ड्रॉप फ़ाइल अपलोडिंग विजेट के लिए इसका उपयोग कर रहा हूं। यह बिल्कुल सही नहीं है, जब माउस खिड़की के किनारे से एक निश्चित दूरी पर जाता है तब से ट्रिगर किया जा रहा है।

मैं वापस ले गया जो मैंने कहा था। हो सकता है। मैंने यह कोड लिखा है, पूरी तरह से कार्य करता है

 window.onload = function() { $span = document.getElementById('text'); window.onmouseout = function() { $span.innerHTML = "mouse out"; } window.onmousemove = function() { $span.innerHTML = "mouse in"; } } 

क्रोम, फ़ायरफ़ॉक्स, ओपेरा में काम करता है आईआई में परीक्षण नहीं किया गया है लेकिन मान लें कि यह काम करता है।

संपादित करें। आईई हमेशा मुसीबत का कारण बनता है इसे आईई में काम करने के लिए, खिड़की से दस्तावेजों की घटनाओं को बदलें:

 window.onload = function() { $span = document.getElementById('text'); document.onmousemove = function() { $span.innerHTML = "mouse move"; } document.onmouseout = function() { $span.innerHTML = "mouse out"; } } 

क्रॉसब्रोजर किक गधा कर्सर का पता लगाने के लिए उन्हें गठबंधन o0: P

OnMouseLeave घटना का उपयोग बुलबुला रोकता है और आपको आसानी से पता लगा सकता है कि जब माउस ब्राउज़र विंडो छोड़ देता है।

 <html onmouseleave="alert('You left!')"></html> 

http://www.w3schools.com/jsref/event_onmouseleave.asp

मैंने उपरोक्त सभी की कोशिश की है, लेकिन उम्मीद के मुताबिक कुछ भी काम नहीं कर रहा है। थोड़ी सी शोध के बाद मैंने पाया कि e.relatedTarget html है, बस माउस से पहले विंडो से बाहर निकलता है

तो … मैं इस के साथ समाप्त हो गया है:

 document.body.addEventListener('mouseout', function(e) { if(e.relatedTarget === document.querySelector('html')) { console.log('We\'re OUT !'); } }); 

अगर आपको कोई समस्या या सुधार मिल जाए तो कृपया मुझे बताएं!

हो सकता है कि अगर आप शरीर टैग में लगातार OnMouseOver को सुन रहे हों, तो कॉलबैक तब होता है जब ईवेंट को अवलोकन नहीं होता है, लेकिन जैक राज्यों के रूप में, यह बहुत बदसूरत हो सकता है, क्योंकि सभी ब्राउज़र्स सभी तरह से घटनाओं को उसी तरीके से संभाल नहीं सकते, यहां तक ​​कि कुछ भी संभावना है कि आप एक ही पृष्ठ पर एक div से अधिक होने के बावजूद भी माउसओवर खो देते हैं।

इस सीएसएस को लागू करें:

 html { height:100%; } 

यह सुनिश्चित करता है कि एचटीएमएल तत्व विंडो की पूरी ऊँचाई लेता है।

इस jquery लागू:

 $("html").mouseleave(function(){ alert('mouse out'); }); 

माउसओवर और माउसआउट के साथ समस्या यह है कि यदि आप माउस को एक बच्चे के तत्व में HTML से बाहर / निकाले तो यह ईवेंट बंद कर देगा। मेरे द्वारा दिया जाने वाला फ़ंक्शन किसी बच्चे तत्व के लिए आवास के दौरान सेट नहीं होता है यह केवल तब सेट हो जाता है जब आप विंडो के बाहर माउस को / बाहर निकालते हैं

सिर्फ आप के लिए यह जानना है कि जब विंडो में उपयोगकर्ता मयॉज:

 $("html").mouseenter(function(){ alert('mouse enter'); }); 
 $(window).mouseleave(function(event) { if (event.toElement == null) { //Do something } }) 

यह थोड़ा हैक हो सकता है लेकिन यह केवल तब ट्रिगर करेगा जब माउस विंडो को छोड़ देगा। मैंने बाल घटनाओं को पकड़ लिया और इसने इसे सुलझाया

मैंने यह परीक्षण नहीं किया है, लेकिन मेरी प्रेरणा शरीर टैग पर एक OnMouseOut फ़ंक्शन कॉल करने के लिए होगी।

हो सकता है कि ये कुछ बाद में आने वाले लोगों की मदद करे। window.onblur और document.mouseout

window.onblur ट्रिगर होता है जब:

  • आप Ctrl+Tab या Cmd+Tab का उपयोग करके अन्य विंडो पर स्विच करें
  • आप दस्तावेज़ इंस्पेक्टर पर ध्यान केंद्रित (न सिर्फ माउसओवर)।
  • आप डेस्कटॉप स्विच करते हैं

मूल रूप से कभी भी वह ब्राउज़र टैब फोकस खो देता है

 window.onblur = function(){ console.log("Focus Out!") } 

document.mouseout ट्रिगर होता है जब:

  • आप कर्सर को शीर्षक बार पर ले जाते हैं
  • आप Ctrl+Tab या Cmd+Tab का उपयोग करके अन्य विंडो पर स्विच करें
  • आप कर्सर को दस्तावेज़ इंस्पेक्टर के ऊपर ले जाएं।

मूल रूप से किसी भी मामले में जब आपका कर्सर दस्तावेज़ छोड़ देता है

 document.onmouseleave = function(){ console.log("Mouse Out!") } 
 $(window).mouseleave(function() { alert('mouse leave'); }); 

यह मेरे लिए काम किया यहां कुछ उत्तरों का एक संयोजन। और मैंने कोड को सिर्फ एक बार एक मॉडल दिखाया था। और जब कहीं भी क्लिक किया जाता है तो मॉडल दूर हो जाता है

 <script> var leave = 0 //show modal when mouse off of page $("html").mouseleave(function() { //check for first time if (leave < 1) { modal.style.display = "block"; leave = leave + 1; } }); // Get the modal with id="id01" var modal = document.getElementById('id01'); // When the user clicks anywhere outside of the modal, close it window.onclick = function(event) { if (event.target == modal) { modal.style.display = "none"; } } </script> 

यह क्रोम में काम करेगा,

 $(document).bind('dragleave', function (e) { if (e.originalEvent.clientX == 0){ alert("left window"); } });