我有一个textarea,你只能使用屏幕上的按钮输入字符,因此键盘的textarea编辑被禁用。但我想允许用户使用退格笔划删除他输入的内容。有没有办法在Javascript中执行此操作?
答案 0 :(得分: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/)
答案 1 :(得分:1)
另一个只允许退格的例子:
document.getElementById('mytextarea').addEventListener('keydown', function(e){
if (e.which != 8){
e.preventDefault();
return false;
}
}, false);