// keydown事件function keydown (evt) { // 键盘上的全部可打印键 var isPrintableKey = function (k) { return !(evt.altKey || evt.ctrlKey || evt.metaKey) && ( k === 32 || // 空格 (k >= 48 && k <= 57) || // 数字 (k >= 65 && k <= 90) || // 字母 (k >= 96 && k <= 105) || // 小键盘数字 // 其他符号键 (k === 106 || (k >= 186 && k <= 192) || (k >= 219 || k <= 222)) ); }; switch (evt.keyCode) { // 1. 回车键,除了shift+Enter执行默认换行,其他Enter都是提交 case 13: if (!evt.shiftKey) { // todo: 提交处理 evt.preventDefault(); // 防止换行 } break; // 2. 删除键/中文,在keyup后再计算字数 case 8: // backspace case 46: // delete markForCountWhenKeyup = true; break; // 3. 输入键,在原内容基础上加1 (这时文本框的值还未改变) default: if (isPrintableKey(evt.keyCode)) { // 超出范围,不再允许将该次键值输入 if (input.val().length + 1 - limitLength > 0) { evt.preventDefault(); } } }}
input 输入过滤
最新推荐文章于 2024-06-18 17:49:45 发布