仅使用Javascript在textarea中允许退格

时间:2013-09-26 20:44:35

标签: javascript html javascript-events web

我有一个textarea,你只能使用屏幕上的按钮输入字符,因此键盘的textarea编辑被禁用。但我想允许用户使用退格笔划删除他输入的内容。有没有办法在Javascript中执行此操作?

2 个答案:

答案 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);

example