2013-07-30 31 views
1

這個匿名函數是由鼠標移動觸發的。兩個事件觸發相同的功能

var timeout; 

// onkeypress 

document.onmousemove = function(){ 
    clearTimeout(timeout); 
    timeout = setTimeout(function(){alert("move your mouse");}, 1000); 
} 

我可以在按鍵時將它解僱嗎?或者說是做到這一點的唯一方法有效地定義函數的命名函數和調用它像這樣:

document.onmousemove.namedfunction(); 
document.onkeypress.namedfunction(); 

JSFIDDLE

回答

1

你可以做到這一點幾乎是你這樣做是正確的,現在以同樣的方式:

var timeout; 

document.onmousemove = document.onkeypress = function(){ 
    clearTimeout(timeout); 
    timeout = setTimeout(function(){alert("move your mouse");}, 1000); 
} 

但是,多次重複使用相同的函數可能是給它起個名字並引用它的理由。

0

你可以離開它匿名...

document.onmousemove = document.onmousemove = function(){ 

但是,我不會。