javascript - event.preventDefault();在 IE 中工作很奇怪

标签 javascript jquery internet-explorer preventdefault

$('input').keypress(function(e) {
        var regex = new RegExp("^[a-zA-Z0-9]+$");
        var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
        if (!regex.test(key)) {
           event.preventDefault ? event.preventDefault() : event.returnValue = false;
        }
    });

如何修复此问题以使其在 IE 中正常工作。这个想法是在按键时转义特殊字符。在 chrome、mozilla 等中运行良好,但 IE 会忽略所有按键功能,即使它对正则表达式有效。

最佳答案

使用下面的代码

$('input').keypress(function(e) {
    var regex = new RegExp("^[a-zA-Z0-9]+$");
    var key = String.fromCharCode(!e.charCode ? e.which : e.charCode);
    if (!regex.test(key)) {
       e.preventDefault ? e.preventDefault() : e.returnValue = false;
    }
});

关于javascript - event.preventDefault();在 IE 中工作很奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17908111/

相关文章:

javascript - 如何通过破折号拆分字符串并删除任何外部空格?

php - 在文本区域中输入数字或字符时如何减少计数

javascript - 如何将相同的 props 应用于多个样式组件?

jquery - removeAttr ("selected") 在 IE6 中显示错误

javascript - 如何在 ng-repeat 中为多个选择填充动态选项

javascript - 简单的 jQuery $.get 调用 twitter 失败

jquery - IE7-Ajax 成功数据已过时

javascript - 如何从我的外部 javascript 文件访问 php 变量

javascript - 浏览器在设置 document.location 时会转义一些 URL 无效字符,但不会转义其他字符

javascript - 您的浏览器污染了 Internet Explorer 中的 Canvas