Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检测回车键/或;围棋;地址栏上的按钮?_Javascript - Fatal编程技术网

Javascript 如何检测回车键/或;围棋;地址栏上的按钮?

Javascript 如何检测回车键/或;围棋;地址栏上的按钮?,javascript,Javascript,我想使用Javascript检测地址栏的ENTER键以及“Go(到指定的URL)”按钮。 根据我以前的努力,使用“keycode==13”并没有按要求工作。 例如,在以下代码中: window.onkeypress=testKeyEvent; 函数testKeyEvent(e){ if(e.keyCode==13)//我们使用enterkeypress事件进行测试。 { 警报(“按下回车键”); } 否则//如果按下任何其他按钮。 { 警报(“未按回车键”); } } 我希望在地址框

我想使用Javascript检测地址栏的ENTER键以及“Go(到指定的URL)”按钮。 根据我以前的努力,使用“keycode==13”并没有按要求工作。 例如,在以下代码中:

window.onkeypress=testKeyEvent;
函数testKeyEvent(e){
if(e.keyCode==13)//我们使用enterkeypress事件进行测试。
{
警报(“按下回车键”);
}
否则//如果按下任何其他按钮。
{
警报(“未按回车键”);
}
}    
我希望在地址框中键入任何URL(有效或无效)并按下ENTER/单击GO按钮,然后转到指定的URL后,首先显示警报框


可能吗?我知道我错过了很多东西,请提及它们。

你无法检测到击键,因为它在你的窗口之外,但是你可以检测到从你的页面以外的导航,如

window.onbeforeunload = function () {
    alert("Leaving page...");
}

如果我正确地解释了您的问题,我认为您无法做到这一点,因为JavaScript运行的上下文在文档处停止(也就是说,JavaScript甚至不知道浏览器本身存在)。

什么地址栏?浏览器内置的那个?或者它是您页面上的输入?您不能,您只能获取页面本身元素的事件,您在浏览器地址栏上没有可见性。您可以使用事件来检测用户何时将要离开网页,这可能会满足您的需要。请注意,显然浏览器可以忽略试图在处理该事件期间使用
警报的代码,因此这可能会给您带来问题。@epascarello内置的,除非您正在构建插件,否则不会发生。请注意,在这种情况下,浏览器可以自由忽略
警报
,并且在我测试该插件时(Linux上的Chrome58),这就是发生的情况,因此此代码实际上什么都不做。您可以做的是
从函数返回一些值-这会给您提供
您确定要离开吗?
对话框。您是对的。可靠地检测跨平台离开页面是一个问题。另外,因为这是一个被广告商滥用的区域在过去,浏览器和标准会锁定内容。@KarlReid即使在我试图返回警报框时,它也不起作用。
window.onbeforeunload = function () {
    alert("Leaving page...");
}