Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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 检测Chrome重新加载鼠标单击Typescript_Javascript_Angular_Typescript2.0 - Fatal编程技术网

Javascript 检测Chrome重新加载鼠标单击Typescript

Javascript 检测Chrome重新加载鼠标单击Typescript,javascript,angular,typescript2.0,Javascript,Angular,Typescript2.0,我正在使用Angular2,希望检测用户是否已从浏览器中单击“重新加载此页面”。 如何在typescript中检测此事件-它不是键盘事件 到目前为止,我已经尝试过: @HostListener('window:keydown', ['$event']) onKeyDown(event: MouseEvent) { console.log(event); alert("keydown "+ event.valueOf()); } @HostListener('window

我正在使用Angular2,希望检测用户是否已从浏览器中单击“重新加载此页面”。 如何在typescript中检测此事件-它不是键盘事件

到目前为止,我已经尝试过:

 @HostListener('window:keydown', ['$event'])
 onKeyDown(event: MouseEvent)
 {
    console.log(event);
    alert("keydown "+ event.valueOf());
 }

@HostListener('window:keypress', ['$event'])
onKeyPress(event: MouseEvent) {
    console.log(event);
    alert("keyPress " + event.x);
}

@HostListener('document:click', ['$event'])
public documentClick(event: MouseEvent): void {
    console.log(event);
    alert("doc " + event.y);

}
但在用户单击“从浏览器重新加载”时不会被击中

有什么想法吗

window.onbeforeunload = function(e) {
  //do something useful here
  return 'oops, user is leaving or reloading the page' //dialog text
};
每次用户试图离开页面或重新加载时,此代码都会起作用

供参考:

此外,您还可以收听“F5”按键事件和其他组合键,从而重新加载页面。您需要防止这些事件的default(),并执行一些您需要的工作。例如,此代码将阻止通过F5按钮刷新页面:

document.addEventListener('keydown', function(e) {
  if ((e.which || e.keyCode) == 116)
  e.preventDefault();
  //do something useful here
});

需要用打字机脚本吗