我有一个文本区域,您只能在其中使用屏幕按钮输入字符,因此禁用了通过键盘编辑文本区域。但我想允许用户使用退格笔划删除他输入的内容。有没有办法在 Javascript 中做到这一点?
问问题
6850 次
2 回答
8
有选择地启用密钥非常容易。只需添加一个键侦听器,preventDefault
当它是您不想要的键时:
myInputElement.addEventListener( 'keydown', function( e ) {
// console.log( e.keyCode ); // for finding key codes by trying them
if( e.keyCode >= 37 && e.keyCode <= 40 ) {
return; // arrow keys
}
if( e.keyCode === 8 || e.keyCode === 46 ) {
return; // backspace (8) / delete (46)
}
e.preventDefault( );
}, false );
(例如小提琴:http: //jsfiddle.net/tnayV/)
于 2013-09-26T20:52:35.327 回答
1
另一个只允许后退的例子:
document.getElementById('mytextarea').addEventListener('keydown', function(e){
if (e.which != 8){
e.preventDefault();
return false;
}
}, false);
于 2013-09-26T20:59:15.803 回答