Safari的KeyboardEvent非常奇怪

时间:2016-08-09 08:37:17

标签: javascript safari keyboard-events

jsfriddle:https://jsfiddle.net/gLv101mr/(使用safari访问它)

HTML:

<input type='text' id='text'/>

JS:

$('#text').on('keydown', function(e) {
  console.log(e.type, e.which)
  e.preventDefault()
  return false
}).on('keyup', function(e) {
  console.log(e.type, e.which)
  e.preventDefault()
  return false
}).on('keypress', function(e) {
  console.log(e.type, e.which)
  e.preventDefault()
  return false
})

按字母键(包括enter,backspace,&lt;&gt;等等)时,键盘事件被正确阻止,用户无法输入任何内容。但数字键仍然可以输入(包括+ - @#$和空格键)!

当按数字键时,keydown事件的keyCode prop始终为229,您无法确定按下哪个键。

这是一场噩梦,我记得曾经发生过这种情况,我该如何处理Safari浏览器中的键盘事件?

0 个答案:

没有答案