有没有办法计算用户按下 [az][0-9] 键的次数?
我想计算他在输入文本上按下按键的次数。
有什么建议么?
此代码将维护一个映射,为每个键提供按键次数:
var map = {};
$('input').keyup(function(e){
var key = e.keyCode;
if (key>=48 && key<=90) map[key] = (map[key]||0)+1;
});
演示(打开控制台)
您可以在此处找到键码和字符之间的关系。
如果您想让地图更具可读性(将字符作为键而不是键码),请执行以下操作:
var map = {};
$('input').keyup(function(e){
if (e.keyCode>=48 && e.keyCode<=90) {
var key = String.fromCharCode(e.keyCode);
map[key] = (map[key]||0)+1;
}
});
演示(打开控制台)
val
但是在输入结束时只分析字符串(使用 获得)可能会更容易。
此代码有效,替换#yourinputid
为您输入的 id 和keycode == '13'
您要计算的键, 13 实际上是Enter
. 只需查看nbr
' 值,您就会知道按键被按下了多少次。
var nbr = 0;
$('#yourinputid').keypress(
function(event)
{
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
nbr++;
}
});
祝你好运。
如果您使用OR
语句更改条件,则可以添加多个键码。
$(document).ready(function() {
var count = 0;
$('#txt').keypress(function(event){
var key_code = event.keyCode ? event.keyCode : event.which;
if((key_code >=97 && key_code <=122) || (key_code >=48 && key_code <=57)){
$('#cnt').html(++count);
}
});
});