jQuery.keypress:即时文本处理

时间:2012-01-16 12:13:35

标签: jquery input

我需要替换默认的keypress-event,以便在键入时对文本进行额外的(即时)转换。试试这个:

field.keypress(function(e){
    field.val(function(i, val){
        return val.toUpperCase();
    });
    return false;
});

但输入没有完全填充,这是可以理解的原因。但是如何?)

请不要建议“text-transform”,toUpperCase()只是一个例子。 ))

1 个答案:

答案 0 :(得分:3)

keypress事件在实际修改文本字段之前触发。

您应该将该函数绑定到keyup事件。

keyup事件仅在每次击键时触发一次。如果按a键,则会在每个字符填充文本字段之前触发keypress事件。 {/ 1}}事件仅在发布密钥后触发。因此,如果您按住 e 10秒钟,输入字段将包含小写keyup字符,直到您抬起手指。