【发布时间】:2018-06-22 04:53:28
【问题描述】:
我有这个脚本,它只允许目标输入中的数字,并防止在该输入中插入其他字符,这适用于除
之外的所有浏览器Internet explorer 11。该错误作为语法错误出现在第 14 行。我怎样才能让它在 Internet Explorer 11 上运行?
控制台中的错误没有给我太多信息,它只是用红色字母说语法错误,它给了我这个链接https://docs.microsoft.com/en-us/scripting/javascript/misc/syntax-error-javascript 所以换句话说,它没有给我关于错误的真正有用的信息,所以我被卡住了在那里。
document.querySelector('#numbers-only').addEventListener('keypress',preventNonNumbersInInput);
function preventNonNumbersInInput(event){
var characters = String.fromCharCode(event.which);
if(!(/[0-9]/.test(characters))){
event.preventDefault();
}
}
document.querySelector('#numbers-only').addEventListener('paste',pasteTest);
function pasteTest(event){
window.setTimeout(() => { //<-line 14
var characters =event.target.value;
window.setTimeout(() => {
if(!(/^\d+$/.test(characters))){
event.target.value = event.target.value.replace(/\D/g, '');
}
});
});
}
<input type="text" id="numbers-only">
【问题讨论】:
-
错误声明说什么?你能发布错误信息吗?
-
感谢您的回复,它只是用红色字母表示语法错误,它给了我这个链接docs.microsoft.com/en-us/scripting/javascript/misc/…
-
好吧,我不完全知道这个问题,但它可能是浏览器兼容性问题。我不认为 IE 支持箭头功能。试着写老派
-
感谢您的提要 Krishna Prashatt,当您的意思是老派时,您指的是什么?
-
与 inus saha 在回答中提到的相同。用 javascript 编写函数的旧方法。
标签: javascript