मैं सोच रहा था कि माउस का पता लगाने का कोई तरीका है कि माउस jQuery में 3 सेकंड की तरह निष्क्रिय है या नहीं। क्या कोई प्लगइन है जिसे मैं अनजान हूं? क्योंकि मैं एक मूल jQuery विधि होने पर विश्वास नहीं करता हूं। कोई भी सहायताकाफी प्रशंसनीय होगी!jQuery - पता लगाएं कि माउस अभी भी है या नहीं?
उत्तर
आप mousemove
घटना को सुनने के समय समाप्त शुरू जब भी यह होता है और किसी भी मौजूदा समय समाप्त रद्द कर सकते हैं।
var timeout = null;
$(document).on('mousemove', function() {
clearTimeout(timeout);
timeout = setTimeout(function() {
console.log('Mouse idle for 3 sec');
}, 3000);
});
यह बहुत आसानी से और साथ ही jQuery बिना किया जा सकता है (केवल ईवेंट हैंडलर यहाँ बाध्यकारी jQuery विशेष है)।
धन्यवाद ! यह ठीक वही है जिसकी तलाश मुझे थी। :- डी – ModernDesigner
टाइमर आग को अमान्य 'clearTimeout()' से बचने के लिए आग लगने के बाद शायद 'टाइमआउट' को 'शून्य' पर सेट करना चाहते हैं। – jfriend00
@ jfriend00: इससे कोई फर्क नहीं पड़ता, वास्तव में। http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-cleartimeout यहां तक कि 'शून्य' चेक भी। – Ryan
बिल्कुल भी jQuery के लिए एक प्लगइन के लिए कोई ज़रूरत नहीं है, या:
(function() {
var idlefunction = function() {
// what to do when mouse is idle
}, idletimer,
idlestart = function() {idletimer = setTimeout(idlefunction,3000);},
idlebreak = function() {clearTimeout(idletimer); idlestart();};
if(window.addEventListener)
document.documentElement.addEventListener("mousemove",idlebreak,true);
else
document.documentElement.attachEvent("onmousemove",idlebreak,true);
})();
संभावित डुप्लिकेट [निर्धारित करें कि माउस अभी भी जावास्क्रिप्ट/jQuery में है या नहीं?] (Http://stackoverflow.com/questions/2487939/determine-if-mouse-is-still-in-javascript-jquery) –