preventDefault()
делает именно то, что должен.Останавливает действие по умолчанию для клавиши.Если вам нужно действие клавиши по умолчанию, не вызывайте его.
В Chrome и Firefox я вижу повторяющиеся нажатия клавиш, даже когда preventDefault()
не прокомментирован с вашей скрипки.Возможно, вы теряли фокус.
Это помогло бы нам узнать, что предложить на своем месте, если вы опишите больше о том, чего вы пытаетесь достичь.ключи на уровне документа.К тому времени, когда нажатия клавиш распространяются до документа, они уже были обработаны отдельными объектами, на которые они нацелены.Если вы хотите перехватить и предотвратить обработку ключей, вы должны обработать их в обработчиках событий для объектов, на которые они изначально нацелены.Вы не можете запретить использование ключей по умолчанию на уровне документа.В этом jsFiddle , где я перехватываю нажатия клавиш на первом объекте, к которому они идут, вы можете видеть, что они полностью заблокированы.Вы также можете знать, что кросс-браузерное поведение не идеально в этом отношении, поскольку есть некоторые отличия браузера, которые вы можете увидеть здесь .