有人遇到过仅在鼠标进入元素一段时间后才触发事件的代码吗?但如果只是悬停或快速通过元素,则不会触发事件..
问问题
102 次
2 回答
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);
}
});
查看一个工作示例: http: //www.jsfiddle.net/oskar/SZsNT/
于 2010-09-03T06:36:00.640 回答
0
var timer = null;
element.addEvents({
mouseenter: function() {
timer = setTimeout(foo, 5000);
},
mouseleave: function() {
clearTimeout(timer);
}
});
仅当光标foo
在元素上方 5 秒时才会调用
于 2010-09-02T20:30:32.457 回答