试图在循环中获取var的数字ascii

时间:2016-02-04 13:16:39

标签: javascript

我需要在该循环中捕获数字ASCII 08(Backspace):

var texto = document.getElementById('textEnv').value;
var number = 08;
for (var i = 0; i < texto.length; i++) {
    if (texto.charCodeAt(i) == number) { 
        alert("im backspace");
    }
}

因此,当在textarea上按下退格键时必须在循环中捕获。我可以保证你在var texto中接收用户在textarea中输入的所有字符。问题,我敢肯定,它的方法charCodeAt(i),我用得不好。有任何想法吗?

2 个答案:

答案 0 :(得分:2)

文本框中没有字符ASCII 08 (Backspace)

您应该使用keydown事件

$( "#'textEnv'" ).keydown(function( event ) {
    if ( event.which == 8 ) {
        // do sth
    }
});

in VanillaJS

document.getElementById('textEnv').onkeypress = function (e) { 
    e = e || window.event; 
    var charCode = e.charCode || e.keyCode, 
    if (charCode == 8) {
        // do sth
    }
};

答案 1 :(得分:0)

您应该使用keydown事件

此处您的代码已重写

var text0 = document.getElementById('textEnv');
var number = 8;

text0.addEventListener("keydown", function() {
    var key = event.keyCode || event.charCode;

    if( key == number )
        alert("im backspace");
});