【发布时间】:2017-09-26 11:49:00
【问题描述】:
文本区域应仅接受数字、逗号、箭头键(键盘)、空格、Ctrl+c、Ctrl+v、Ctrl+x、Ctrl+a,并且只能使用 javascript。 以下是我的代码:
<textarea onkeypress=' return validateKey(event)'></textarea>
<body>
<script type="text/javascript">
function validateKey(e){
var key= e.keyCode ? e.keyCode : e.charCode;
console.log(key);
if(key>47 && key <=57 || key>36 && key <=40 || key===44|| key===32 ||x|| key===8 || x|| key ===118 || key==99 || key === 120){
return true;
}
return false;
}
</script>
</body>
它在 chrome 上运行良好,但在 Firefox 中,它采用相同的键码来表示“a”和 ctrl+a 或 cmd+a (mac) 等等,用于剪切、粘贴、复制。
有什么方法可以让我将 ctrl+a 和 'a' 视为两个不同的字符。
【问题讨论】:
-
不要。只需确保
this.value.match(/^[0-9, ]*$/)通过即可。 -
cmd+ctrl事件的e.ctrlKey是否相同?
标签: javascript