function keyDown()
{
alert("KeydownEvent Fired");
}
function keypress()
{
alert("keypress Event Fired")
}
function keyup()
{
alert("key up event fired");
}
function onlyAlphabets(e) {
debugger;
try {
if (window.event) {
var charCode = window.event.keyCode;
}
else if (e) {
var charCode = e.which;
}
else { return true; }
var keyCodes = [13, 16, 18, 19, 20, 27, 33, 34, 35, 36, 37, 38, 39, 40, 45, 91, 92, 93, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 96, 97, 98, 99,
100, 101, 102, 103, 104, 105, 144, 145];
if (keyCodes.indexOf(charCode) != -1) {
return false;
}
else if ((charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123) || charCode == 8 || charCode == 32 || charCode == 9 || charCode == 46 || charCode == 37 || charCode == 39 || charCode == 16 || charCode == 17)
return true;
else
return false;
}
catch (err) {
alert(err.Description);
}
}
<input type="textbox" placeholder="Keydown" onkeydown="return onlyAlphabets(event,this);"></input>
</br>
<input type="textbox" placeholder="Keypress" onkeypress="keypress()"></input>
</br>
<input type="textbox" placeholder="Keyup" onkeyup="keyup()"></input>
</br>
这只是一块代码。
我包含了一些输入标签,这些标签都有不同的按键事件,然后我将其上传到现场,它在所有浏览器的工作中正常工作,但是,当我尝试在手机或平板电脑中打开页面时,它不正常。
即使警报在浏览器中工作,但我在键盘上对名字进行了验证,用户只能输入字母(不允许使用数字和特殊字符)
在移动浏览器中,onkeydown
和onkeyup
都可以使用。我认为您有简单的语法错误,可能是问题
在手机中检查此小提琴。除了onkeypress
演示: -
<script>
function keyDown()
{
alert("KeydownEvent Fired");
}
function keypress()
{
alert("keypress Event Fired")
}
function keyup()
{
alert("key up event fired");
}
</script>
<input type="textbox" placeholder="Keydown" onkeydown="keyDown()"/>
<br/>
<input type="textbox" placeholder="Keypress" onkeypress="keypress()"/>
<br/>
<input type="textbox" placeholder="Keyup" onkeyup="keyup()"/>
<br/>
编辑: -
要添加onkeydown
中必须处理的验证。检查此提琴的详细信息
Android验证的最佳解决方案是使用键盘函数并使用REGEX Expression验证代码如下(仅此REGEX仅允许字母),请注意,Android不支持DistrestDefault();方法
$( "#textbox" ).on("keyup", function(e) {
var inVal=" ";
inVal=$(this).val();
var regex = new RegExp(/^[a-zA-Z ]+$/);
if(!(regex.test(inVal)||$(this).IsNumeric) ){
$(this).val($(this).val().replace(/[^a-zA-zs]/gi, ''))
}
});