jQuery:修改按键上的输入值

标签 jquery replace keypress

每当出现一个点 '.'在我的输入 (type=number) 字段中输入,我希望将其替换为逗号“,”。

$(box).find('input[type=number]').keypress(function(evt){
        if(evt.which==46){
            $(this).val($(this).val()+',');
            evt.preventDefault();
        }
    });

该事件触发得很好,但相反,该字段完全是空的。怎么了?

编辑

我这样做的原因是 Chrome(最新版本)与 HTML5 的建议相反,在输入 type=number 中使用逗号并丢弃点。我目前只为 Chrome 开发,因为目前我无法在其他地方测试我的应用程序。对这种(异常?)情况的任何评论将不胜感激。

最佳答案

$(this).val($(this).val() + ',');

如果您在打字时总是想在文本末尾添加“,”符号,这可能会起作用。但是,如果将光标放在文本中间,然后按“.”会怎么样?标志?

关于jQuery:修改按键上的输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13532912/

相关文章:

javascript - 在 jQuery 中重新排序表单数组的聪明、有效的方法?

javascript - 在 MacO 上禁用 chrome、safari 等 html 输入的自动标点符号

javascript - 为什么我无法使用 jquery 和 jquery ui 库播放此 mp3?

javascript - 在 JavaScript 中用正则表达式替换字符串

php - 替换 php 文件中的 {{string}}

python - 用 Pandas 替换另一个数据框中数据框中的值

python - PyQt4 - 按住一个被检测为频繁按下和释放的键?

javascript - 如果没有发生按键事件,js 按键事件和操作之间的时间间隔

javascript - 使用 Jquery 显示数组对象

javascript - 防止 CSS3 动画在页面加载后触发