दिलचस्प पोस्ट
एक हाथ से खींची गई वक्र को चौरसाई करना सीएसआरएफ टोकन अमान्य है। कृपया फॉर्म को पुनः सबमिट करने का प्रयास करें जावास्क्रिप्ट के साथ स्ट्रिंग के रूप में एक HTML के डॉकटाइप प्राप्त करें एनएमएमएम यूएनएमईटी पीयर डिपाण्डैन्सी को कैसे हल करें Android में Google साइनइन से लिंग की तरह प्रोफाइल कैसे प्राप्त करें? मौजूदा वाईफाई हॉटस्पॉट नाम को प्राप्त करने के लिए मैं कैप्टिव नेटवर्क का उपयोग कैसे करूं? एलडीएपी क्वेरी कैसे लिखूं यह जांचने के लिए कि उपयोगकर्ता समूह का सदस्य है या नहीं? मैं SQL सर्वर Windows मोड से मिश्रित मोड (SQL Server 2008) में कैसे बदल सकता हूं? PHP में कुशल जेपीईजी छवि रीसाइज़िंग फ़ुलस्क्रीन मोड में एक वेबसाइट चलाएं अमूर्त वर्ग या इंटरफ़ेस का उपयोग कब किया जाए? कैसे सिद्धांत के साथ बेतरतीब चयन करने के लिए वास्तविक समय पुश अधिसूचना के पास एंड्रॉइड समर्थन क्या है? java: आरएपीसी / एन्कोडेड wsdls JAXWS 2.0 में समर्थित नहीं हैं Android के GetBaseContext, getApplicationContext या एक गतिविधि का "यह" प्रयोग करने के लिए अलग-अलग नियम

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

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

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

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

इस प्रकार का व्यवहार आमतौर पर एक 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"); } });