2

我有一些輸入元素,用戶在pageup/pagedown鍵上請求特殊行爲以修改輸入元素中的值。用戶不想要的是讓他們正在編輯的滾動區域也進行頁面向上/向下滾動。我已經在FF和IE8中正常工作。在Chrome瀏覽器中攔截PageUp/PageDown keydown事件

但是,在Chrome中,我無法找到阻止瀏覽器本身使用這些鍵盤事件來滾動區域的方法。在任何人建議之前,撥打e.stopPropagation()e.immediateStopPropagation()並不能解決Chrome中的問題。它在FFIE8中正常工作。

另外,頁面向上/向下行爲僅針對這些特殊輸入字段進行修改。對於所有其他人,頁面向上/向下是正常工作。

您可以在http://jsfiddle.net/photo_tom/CN4UZ/上看到一個工作演示。

回答

3

我用e.preventDefault()。在Chrome 16中工作。

http://jsfiddle.net/CN4UZ/5/

+0

返回'false'確實可以正常工作。 – 2011-12-30 15:46:23

0

在Chrome中適用於我。

Google Chrome 17.0.963.12 (Official Build 114667) dev-m 
OS Windows 
WebKit 535.11 (@102901) 
JavaScript V8 3.7.12.6 
Flash 11,1,102,55 
User Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.12 Safari/535.11 
Command Line "C:\Users\..\AppData\Local\Google\Chrome\Application\chrome.exe" --no-startup-window --flag-switches-begin --enable-print-preview --flag-switches-end 
Executable Path C:\Users\..\AppData\Local\Google\Chrome\Application\chrome.exe 
Profile Path C:\Users\..\AppData\Local\Google\Chrome\User Data\Default 

如果沒有我的構建:

嘗試使用return falsehttp://jsfiddle.net/maniator/CN4UZ/4/

+0

大多數人不會在開發版本上。 – 2011-12-30 15:46:04

+0

@ DanielA.White查看我的更新。 – Neal 2011-12-30 15:47:19