2

У меня есть некоторые элементы ввода, которые пользователи запрашивают особым образом на клавишах pageup/pagedown для изменения значения во входном элементе. То, что пользователи не хотят, - это иметь область прокрутки, которую они редактируют, также выполнять прокрутку страницы вверх/вниз. Я правильно работаю в FF и IE8.Intercept PageUp/PageDown события смены ключа в браузере Chrome

Однако в Chrome я не могу найти способ предотвратить использование браузером этих клавиатурных событий для прокрутки региона. Прежде чем кто-либо подскажет это, вызов e.stopPropagation() или e.immediateStopPropagation() не решает проблему в Chrome. Он отлично работает в FF & IE8.

Кроме того, поведение страницы вверх/вниз изменяется только для этих специальных полей ввода. Для всех остальных страница вверх/вниз работает нормально.

Вы можете увидеть рабочую демонстрационную версию по адресу http://jsfiddle.net/photo_tom/CN4UZ/.

ответ

3

Я использовал e.preventDefault(). Работает в Chrome 16.

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

+0

Возвращение 'false' действительно отлично работает. –

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 false: http://jsfiddle.net/maniator/CN4UZ/4/

+0

большинство людей не будет на Dev сборки. –

+0

@ DanielA.White см. Мое обновление. – Neal

Смежные вопросы