我正在玩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中工作,但由于某种原因不在本地。另一方面删除仍然无效。
答案 0 :(得分:4)
终于找到了......
您正在使用 evt.keycode ,这是一个小错字错误
else if(evt.keyCode == 46 || evt.keyCode == 8) // 46 = delete, 8 = backspace.
干杯