【问题标题】:ensure filter printable char in jquery on keyup event确保在keyup事件上过滤jquery中的可打印字符
【发布时间】:2012-05-21 11:28:51
【问题描述】:

如何确保用户在 jquery 中按下“可打印”字符?

我尝试了这个,但它不起作用

$("#foo").keyup(function (e) {
    if (e.charCode) {
        console.debug('this is printable char');
    }
});

我只想要数字、A-Z a-z 字符以及“è,$,%”等,但不想要箭头、输入、f5 等

【问题讨论】:

标签: jquery key keyup


【解决方案1】:

试试:

$("#foo").keyup(function (e) {
    if (e.which < 0x20) {
        console.debug('this is not printable char');
        return;
    }
    else {
        console.debug('this is printable char');
    }
});

【讨论】:

  • 空格是可打印的 - 它不会捕捉到它。
【解决方案2】:
<script type="text/javascript">
    $("input").keypress(function (e) {
        if (e.which !== 0 && e.charCode !== 0) {
            alert(String.fromCharCode(e.keyCode|e.charCode));
        }
    });
</script>

似乎在 jQuery 1.4.2、FF、IE、Chrome 上都可以正常工作。

要深入研究 JS 键盘事件处理的混乱,请参阅: JavaScript Madness: Keyboard Events

Courtesy

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-15
    • 1970-01-01
    相关资源
    最近更新 更多