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浏览器中的键盘事件?