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