кто-нибудь сталкивался с кодом, который запускает только событие, когда мышь вводит элемент в течение определенного времени? но не вызовет событие, если только зависнет или быстро пройдет через элемент ..
Используя setTimeout, это не способ MooTools. То, что вы должны использовать, это методы фреймворка:
setTimeout
var theDiv = $$('div')[0]; var foo = function(){ theDiv.highlight(); }; var timer; theDiv.addEvents({ mouseenter: function() { timer = foo.delay(1000); }, mouseleave: function() { $clear(timer); } });
См. Рабочий пример : http://www.jsfiddle.net/oskar/SZsNT/
var timer = null; element.addEvents({ mouseenter: function() { timer = setTimeout(foo, 5000); }, mouseleave: function() { clearTimeout(timer); } });
То есть foo будет вызываться, только если курсор был над элементом в течение 5 секунд
foo