1

我正在玩一个 textarea 并试图使它成为用户不能超过 maxLength 除非按下的键是退格键或删除键。问题是我的 keyCode 条件总是出来为真。这是为什么?

var maxLength = 500;
window.onload = init;                // this seems to be a problem
commentBox.onkeydown = checkLength;

function checkLength(e)
{
    var evt = e || window.event;

    if(countText() < maxLength) //countText successfully returns number of nonwhitespace text.
        return true;
    else if(evt.keyCode == 46 || evt.keycode == 8)  // 46 = delete, 8 = backspace.
        return true;
    else
        return false;
}

这是一个JSFiddle以帮助更好地理解。删除键在 JSFiddle 中有效,但由于某种原因在本地无效。另一方面,删除仍然不起作用。

4

1 回答 1

4

终于找到了......

您正在使用evt.keycode这是一个小的拼写错误

 else if(evt.keyCode == 46 || evt.keyCode == 8)  // 46 = delete, 8 = backspace.

干杯

于 2012-11-29T03:05:52.050 回答