如何在firefox浏览器中获取特殊字符的关键字码
How to Access the keycodes of special charecters in firefox browser?
我们通过检查用户输入的键码来执行前端验证。这种方法在chrome和ie浏览器中是成功的,但我们无法在firefox浏览器中访问密钥。
function alphanumeric_only(e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (event) keycode = event.keyCode;
else if (e) keycode = e.which;
else return true;
if(
(keycode >= 48 && keycode <= 57) || (keycode >= 65 && keycode <= 90) || (keycode >= 97 && keycode <= 122) || (keycode == 35) || (keycode == 32) || (keycode == 44) || (keycode == 45) || (keycode == 95))
{
return true;
}
else
{
return false;
}
return true;
}`
我们从输入字段调用该函数,如下.....
<div style="float: left;">
<input type="text" id="customname" onkeypress="return alphanumeric_only(this);" value="">
</div>
你好,你可以试试这段代码,它在所有浏览器中都有效:)
<p id="demo"></p>
<div style="float: left;">
<input type="text" id="customname" onkeypress="alphanumeric_only(event)" value="">
</div>
<script>
function alphanumeric_only(event)
{
var keycode1 = event.which || event.keyCode;
document.getElementById("demo").innerHTML = "The Unicode value is: " + keycode1 ;
if((keycode >= 48 && keycode <= 57) || (keycode >= 65 && keycode <= 90) || (keycode >= 97 && keycode <= 122) || (keycode == 35) || (keycode == 32) || (keycode == 44) || (keycode == 45) || (keycode == 95))
{
return true;
}
else
{
return false;
}
return true;
}
</script>
您明确地将this
作为函数的参数传递,而不是事件
onkeypress="return alphanumeric_only(this);"
表示函数中的e
是元素,而不是事件
function alphanumeric_only(e) {
// "e" is the element. not the event
这仍然适用于Chrome和IE,因为这些浏览器支持全局window.event
,但Firefox不支持。
解决方案是同时传递事件
onkeypress="return alphanumeric_only(event, this);"
和
function alphanumeric_only(e, element) { ...
或者更好,删除内联的javascript
<input type="text" id="customname" value="">
,并使用合适的事件处理程序,使这变得容易得多
document.getElementById('customname').addEventListener('keypress', function(evt) {
var keycode = evt.which || evt.keyCode;
if ((keycode >= 48 && keycode <= 57) ||
(keycode >= 65 && keycode <= 90) ||
(keycode >= 97 && keycode <= 122) ||
(keycode == 35) || (keycode == 32) ||
(keycode == 44) || (keycode == 45) ||
(keycode == 95)) {
e.preventDefault();
}
});
相关文章:
- javascript替换换行符和特殊字符
- angularjs删除动态形式元素中的特殊字符
- 使用json_encode通过xmlhttp.responseText发送特殊字符(即caron)
- 在搜索中考虑特殊字符的
- 避免键入一些特殊字符
- Regex测试特殊字符
- 在 Javascript 中对特殊字符进行排序 (æ)
- 必须检查长度,并在文本框中允许一些特殊字符
- 一个jquery验证器方法,它不接受纯数字或纯特殊字符,但接受上面是否有字母
- 用于在Javascript中删除多个空格的特殊字符
- jQuery-Regex以防止任何特殊字符
- javascript正则表达式来识别所有特殊字符
- RegEx只获取特殊字符,前后不获取任何字符
- 如何使用JQuery检查输入(电子邮件)字段是否包含特殊字符
- Javascript:包括特殊字符的文本选择
- 获取特殊字符后没有单词的句子
- 替换字符串javascript中的所有特殊字符..
- 在cshtml中对特殊字符进行编码
- 监视包含特殊字符作为关键字的作用域对象
- 如何在firefox浏览器中获取特殊字符的关键字码