任何人遇到的代码只会在鼠标进入元素一段时间后触发事件?但如果只是快速悬停或通过元素,则不会触发事件..
答案 0 :(得分:1)
使用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);
}
});
答案 1 :(得分:0)
var timer = null;
element.addEvents({
mouseenter: function() {
timer = setTimeout(foo, 5000);
},
mouseleave: function() {
clearTimeout(timer);
}
});
因此,仅当光标在元素上持续5秒
时才会调用foo