我想阻止用户在文本框中键入某些字符(只想允许[az],[AZ]和下划线).我从之前的Q中取出了这个,但是如果我按下箭头键(在FF 3.6中),我会得到一个js错误:
"window.event is undefined"
Run Code Online (Sandbox Code Playgroud)
这是原始代码,在这种情况下我可以将window.event更改为什么?:
$("#myTextBox").bind("keypress", function(event) {
var charCode = (event.which) ? event.which : window.event.keyCode;
if (charCode <= 13) {
return true;
}
else {
var keyChar = String.fromCharCode(charCode);
var re = /[a-zA-Z_]/
return re.test(keyChar);
}
});
Run Code Online (Sandbox Code Playgroud)
谢谢
你可以这样做:
$("#myTextBox").bind("keypress", function(event) {
var charCode = event.which;
if (charCode <= 13) return true;
var keyChar = String.fromCharCode(charCode);
return /[a-zA-Z_]/.test(keyChar);
});?
Run Code Online (Sandbox Code Playgroud)
jQuery规范化event.which了 ...... 你可以在这里测试 :)
如果没有,那么修复只是event.keyCode,你想引用event传递给这个函数的参数,而不是属性window.在这种情况下,如果if条件为真,它将返回...所以不需要if/ else,你可以像我上面那样简化它.
| 归档时间: |
|
| 查看次数: |
6118 次 |
| 最近记录: |