Dam*_*mon 4 javascript forms keyboard jquery javascript-events
我有这个jquery阻止输入键被按下,我准备它接受一系列不允许的kepresses ..
$('.form input').bind('keypress', function(e) {
var keys = [13];
for (var i = keys.length; i--;){
if(e.keyCode===keys[i]){
return false;
}
}
});
Run Code Online (Sandbox Code Playgroud)
我想对|角色做类似的事情,但因为它是220的移位而我不需要停止\从被输入到表单中,我如何限制该角色或使用修饰键?(当然也将在服务器端处理它).
我也知道特殊字符的键盘布局可能因键盘到键盘而有所不同,因此可能需要关注结果字符而不是键本身(不完全确定),但我不知道想要引入大量的开销
该keypress事件是关于字符,而不是钥匙.您可以直接与()keyCode的字符代码进行比较,无需担心shift键被关闭(并且它可能不在所有键盘上)."|""|".charCodeAt(0)
HTML:
<p>Try to type | in the box below.</p>
<input id="theInput" type="text" size="80">
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
jQuery(function($) {
var keys = [13, "|".charCodeAt(0)];
$("#theInput").keypress(function(e) {
var index;
for (index = 0; index < keys.length; ++index) {
if (keys[index] === e.keyCode) {
display("Denied!");
return false;
}
}
});
function display(msg) {
$("<p>").html(msg).appendTo(document.body);
}
});
Run Code Online (Sandbox Code Playgroud)
或者正如bažmegakapa所指出的,因为你已经在使用jQuery,你可以使用它的inArray功能:
jQuery(function($) {
var keys = [13, "|".charCodeAt(0)];
$("#theInput").keypress(function(e) {
if ($.inArray(e.keyCode, keys) !== -1) {
display("Denied!");
return false;
}
});
function display(msg) {
$("<p>").html(msg).appendTo(document.body);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1861 次 |
| 最近记录: |