javascript - 原型(prototype)。限制输入数字

标签 javascript prototypejs

我有多个输入,我将事件监听器附加到其中,该事件监听器监听按下的键,使用正则表达式对其进行测试,如果是数字则返回 true,如果是其他字符则返回 false。问题是即使我的测试函数返回 false,输入也接受字母。

$$(".number").each(function (element) {
  return $(element).observe("keypress", function (event) {
    return /[\d\s]/.test(String.fromCharCode(event.keyCode));
  });
});

JS Bin 上的示例.

最佳答案

您正在使用prototypeJS,据我所知,它不允许使用return false来取消事件传播和默认行为(就像jQuery一样)。虽然它有 Event.stop(event) 方法

$$(".number").each(function (element) {
    return $(element).observe("keypress", function (event) {
        var result = /[\d\s]/.test(String.fromCharCode(event.keyCode));

        if (!result) {
            Event.stop(event);
        }
    });
});

Event.stop(event)

关于javascript - 原型(prototype)。限制输入数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27443666/

相关文章:

javascript - JQuery Remove 在页面刷新后返回?

javascript - 通过window.prompt将一些数据发布到mysql数据库的特定字段(代码运行不正常)

javascript - 我可以使用客户端 Javascript 执行 DNS 查找(主机名到 IP 地址)吗?

javascript - 如果通过 AJAX 修改 DOM,HTML 表单提交事件会丢失

javascript - 使用原型(prototype)/Javascript 基于单选按钮获取表格行

jQuery 插件和原型(prototype)类

javascript - 如何在tensorflow js中找到张量的形状?

javascript - 可以判断一个html元素是否自闭?

javascript - 无论内容长度如何,都保持错误工具提示始终垂直对齐

javascript - 将代码从 PrototypeJS 转换为 jQuery