Javascript 物理键盘不';使用虚拟键盘时,请不要禁用
我有一个HTML应用程序,应该有一个登录功能,我将使用虚拟键盘而不是物理键盘。键盘可以工作,但我想禁用物理键盘,让用户使用虚拟键盘。我使用了以下代码:Javascript 物理键盘不';使用虚拟键盘时,请不要禁用,javascript,html,Javascript,Html,我有一个HTML应用程序,应该有一个登录功能,我将使用虚拟键盘而不是物理键盘。键盘可以工作,但我想禁用物理键盘,让用户使用虚拟键盘。我使用了以下代码: $('#Document').keypress(function (e) { e.preventDefault(); }); 但当我这样做时,它会禁用整个应用程序的输入,因此我尝试具体如下: $('#loginUsername').keypress(function (e) { e.preventDefault(
$('#Document').keypress(function (e) {
e.preventDefault();
});
但当我这样做时,它会禁用整个应用程序的输入,因此我尝试具体如下:
$('#loginUsername').keypress(function (e) {
e.preventDefault();
});
但是键盘不工作。
我正在使用这里的键盘:
我该怎么做呢?首先,我觉得有责任说:虚拟键盘几乎总是很糟糕的,除了触摸屏以外,几乎没有理由使用它们。所以,请想想你的用户 但是,也就是说:要禁用输入中的按键,请从按键处理程序返回
false
:
$("input").on("keypress", function() {
return false;
});
我找到了一个有效的解决方案:
$('#UserName').keypress(function (e) {
e.preventDefault();
lockInput: true,
preventPaste: true
});
刚刚将“lockInput”关键字指定为true,并将“preventPaste”指定为停止处理和粘贴
希望有人会发现它有用。呃,请不要这样做。您在发布的URL上尝试过第三个示例吗?禁用物理键盘是提高安全性的一种非常蹩脚的方法。如果它是由一个表单提交的,并且用户有间谍软件,他们的输入将被捕获,不管是否是键盘输入。你所要做的只是展示一个难以使用的键盘,可能甚至与他们的键盘布局不匹配,这激怒了人们。相信我,我宁愿不使用虚拟键盘,但当你得到要求时,你会按照他们的要求去做。特别是当你为此而得到报酬时……固执地不去做和不去做是有区别的。如果运气好的话,当客户恢复理智时,你就可以消除这种讨厌的东西。你基本上是在把任何一个有屏幕阅读器的人扔进狼群。