задержка события mootool в указанное время - PullRequest
0 голосов
/ 03 сентября 2010

кто-нибудь сталкивался с кодом, который запускает только событие, когда мышь вводит элемент в течение определенного времени? но не вызовет событие, если только зависнет или быстро пройдет через элемент ..

Ответы [ 2 ]

1 голос
/ 03 сентября 2010

Используя setTimeout, это не способ MooTools. То, что вы должны использовать, это методы фреймворка:

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/

0 голосов
/ 03 сентября 2010
var timer = null;
element.addEvents({
  mouseenter: function() {
    timer = setTimeout(foo, 5000);
  },

  mouseleave: function() {
    clearTimeout(timer);
  }

});

То есть foo будет вызываться, только если курсор был над элементом в течение 5 секунд

...