0
任何人都会遇到一个代码,当鼠标在某个时间内输入元素时只触发事件?但如果只悬停或直通快元件时将不会触发事件..指定时间的mootool事件延迟
任何人都会遇到一个代码,当鼠标在某个时间内输入元素时只触发事件?但如果只悬停或直通快元件时将不会触发事件..指定时间的mootool事件延迟
var timer = null;
element.addEvents({
mouseenter: function() {
timer = setTimeout(foo, 5000);
},
mouseleave: function() {
clearTimeout(timer);
}
});
所以foo
将被称为只有当光标超过元素,持续5秒
使用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);
}
});
我可以解决的代码变成这样?但我不知道笏与FOO .. this.menu.addEvents({ 的mouseenter取代:功能(事件){ \t \t计时器= setTimeout的(FOO,5000); obj.remain = []; obj.removeRemain(10) }, 鼠标离开:功能(事件){ \t \t clearTimeout(定时器); obj.remain.each(函数(项目){ item.addClass(obj.options.remainClass) }); obj.removeRemain(obj.options.remainTime) } }); – redcoder 2010-09-02 20:58:21
'foo'是一个函数,如果光标位于元素上5秒 – fantactuka 2010-09-03 06:31:50