javascript - 仅在可编辑列 td html 中接受数字
问题描述
我只在我的表格的可编辑列中验证编号有问题。所以这里是我的html代码:
<table>
<tr>
<td contenteditable='true' name="presentase"></td>
</tr>
</table>
这是我的 js 仅用于数字:
<script type="text/javascript">>
$(".allow_only_numbers").keydown(function (e) {
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110]) !== -1 ||
((e.keyCode == 65 || e.keyCode == 86 || e.keyCode == 67) && (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();
}
});
</script>
如何使该列只能在该“td”标签上输入数字。我应该将“.allow_only_numbers”放在列标签的哪里?
所以帮我解决这个问题。谢谢你
解决方案
你可以把allow_only_numbers
类td
你也contenteditable
需要true
$(".allow_only_numbers").keydown(function (e) {
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110]) !== -1 ||
((e.keyCode == 65 || e.keyCode == 86 || e.keyCode == 67) && (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();
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table border="1" width="100px" height="50px">
<tr>
<td class="allow_only_numbers" contenteditable='true' name="presentase"></td>
</tr>
</table>
推荐阅读
- android - 慢速 Kotlin 自动完成 Android Studio
- php - Laravel 日历调度器
- python - YamlValidationException:运行 rasa train 时无法验证“domain.yml”
- javascript - 如何运行 jQuery 预览上传按钮?
- amazon-ec2 - 安装了 OSSEC 的 aws 自动缩放 AMI
- javascript - 如何将重定向链接添加到 onclick Material ui 图标 - React
- javascript - 在输入字段上调度 Enter keydown 事件
- flutter - 状态改变时 Flutter OpenContainer 重建?
- c - 我从 CS50x 中提出了我自己版本的“现金”问题,我可以优化它吗?
- python - SyntaxError:with 语句套件中的语法无效