سؤال

واسمحوا لي أن أشرح مشكلتي. لدي الحدث mouseout المخصصة لعلامة div مع معرف من التقويم. الآن عندما يتم استدعاء هذا المعالج (عند الفأر ليس على شعبة تقويم)، وأريد أن الانتظار 2 ثانية، ثم معرفة ما إذا كان الماوس لا يزال غير على شعبة التقويم. إذا كان الماوس ما زلت من ثم القيام وظيفة، إن لم يكن ثم لا تفعل شيئا.

ويمكنني استخدام المكتبة النموذج جافا سكريبت. قانون بلدي هو كما يلي:

$('calendar').observe('mouseout', function (event){ 
    setTimeout(/* call this event again */, 2000);
}

والشكر

هل كانت مفيدة؟

المحلول

$('calendar').observe('mouseout', function(e) {
   myTimeout = setTimeout(function() { /* stuff to do after 2 secs */, 2000);
});

$('calendar').observe('mouseover', function(e) {
   if(myTimeout) window.clearTimeout(myTimeout);
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top