我需要跟踪按下的按键,因为这是一个实验,其中键入输入很重要。 我用它来跟踪所有按下的键
function keypress(e)
{
if (!e) e= event;
var focused = document.activeElement;
var a = String.fromCharCode(e.keycode);
}
function init()
{
if (document.addEventListener)
{
document.addEventListener("keypress",keypress,false);
}
else if (document.attachEvent)
{
document.attachEvent("onkeypress", keypress);
}
else
{
document.onkeypress= keypress;
}
}
function suppressdefault(e)
{
if (e.preventDefault) e.preventDefault();
if (e.stopPropagation) e.stopPropagation();
}
</script>
它工作得很好,但是如果用户在地址栏(写入 URL 的地方)写了一些东西,它不会跟踪这些字符。
我一直想知道,有什么方法可以跟踪这些 key 类型吗?如果没有,有什么方法可以阻止用户在方向栏上写任何东西吗?
最佳答案
你的意思是这个,对吗?
该栏不是网页的一部分,网页只能监听发送到网页的击键。所以你无法(无论如何你不应该能够)检测或停止这些击键。
但是您可以打开一个没有地址栏的窗口。 https://developer.mozilla.org/en-US/docs/Web/API/Window.open
window.open('http://www.example.com/', '_blank', 'location=no');
演示:http://jsbin.com/fisehihila/1/
在现代桌面浏览器中,它们实际上确实显示地址栏以防止网络钓鱼,但它不可编辑。
这里它在 Windows 7 上的 Firefox 发布 channel 中显示为灰色。您可以选择它,但无法输入它。
不过,在移动浏览器中,摆弄这些窗口功能的选项的支持有限。
关于javascript - 跟踪地址栏中输入的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28549569/