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