繁体   English   中英

如何仅在动态创建的字段上强制数字?

[英]How can I force numbers only on a dynamically created field?

我试图将动态字段限制为仅数字,但是如果我尝试:

$(document).on('keydown', '.numberOnly', function() {
    if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 || (e.keyCode == 65 && (e.ctrlKey ===
            true || e.metaKey === true)) || (e.keyCode >=
            35 && e.keyCode <= 40)) {
        return;
    }
    if ((e.shiftKey || (e.keyCode < 48 || e.keyCode >
            57)) && (e.keyCode < 96 || e.keyCode > 105)) {
        e.preventDefault();
    }
});

但这是行不通的。 如果我将顶行替换为:

$(".numberOnly").keydown(function(e) {  

但是,这仅适用于静态字段。

您的方法看起来还不错,并且应该可以正常工作。 您从委托事件绑定器中遗漏了EventObject e (这是一个小错字)(但将其包含在直接事件绑定器中,这就是它起作用的原因)。

将第一行更改为:

$(document).on('keydown', '.numberOnly', function(e) {

应该解决你的问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM