在Chrome浏览器中拦截PageUp / PageDown keydown事件

时间:2011-12-30 15:42:12

标签: javascript internet-explorer firefox google-chrome javascript-events

我有一些输入元素,用户在pageup / pagedown键上请求特殊行为来修改input元素中的值。用户不想要的是让他们正在编辑的滚动区域也进行向上/向下翻页滚动。我在FF和IE8中正常工作。

然而,在Chrome中,我找不到阻止浏览器本身使用这些键盘事件来滚动区域的方法。在有人建议之前,调用e.stopPropagation()e.immediateStopPropagation()无法解决Chrome中的问题。它在FF& IE8。

此外,仅针对这些特殊输入字段修改页面向上/向下行为。对于所有其他人,页面向上/向下是正常工作。

您可以在http://jsfiddle.net/photo_tom/CN4UZ/看到有效的演示。

2 个答案:

答案 0 :(得分:3)

我使用了e.preventDefault()。适用于Chrome 16。

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

答案 1 :(得分: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/