2013-01-14 44 views
3

我在keydown,按鍵按下後有一些滾動操作。因此,這是什麼樣子:keydown之後停止滾動,使用jQuery按鍵

$(document).keydown(function(e) { 
    e.stopPropagation(); 

    if (e.keyCode === 40) { 
     // some scrolling actions in specifie div 
    } else if (e.keyCode === 38) { 
     // some scrolling actions in specifie div 
    } 
}); 

Everithing工作正常,但是當IM滾動,我的div也滾動整個頁面keypressing。有沒有任何選項可以阻止這個身體滾動?

+0

您可以張貼jsfiddle.net例子嗎? – CraigTeegarden

回答

5

你需要有.preventDefault() ...

$(document).keydown(function(e) { 
    e.stopPropagation(); 
    if (e.keyCode === 40) { 
     e.preventDefault(); 
     console.log(40); 
    } else if (e.keyCode === 38) { 
     e.preventDefault(); 
     console.log(38); 
    } 
}); 
-2

如果你的身體是目前有滾動動畫,然後使用stop()http://api.jquery.com/stop/

$('body').stop(); 
+0

它不是一個動畫 - 它是在頁面上按下或按下的默認行爲。 – Archer