Window.onbeforeunload - 知道用户点击了什么Angular 5

时间:2018-01-29 13:33:23

标签: javascript jquery angular

我目前正在使用angular 5开发一款应用。

在用户离开页面之前,我会检查他们是否更改了任何表单字段并且没有提交。我有类似的东西

// lunch when closing the page o reload it
@HostListener('window:beforeunload', ['event'])
  beforeUnloadHander(event) {
    if(!this.accepted && this.details.length != 0){
    var message = 'Sure you want to leave?';
    if (typeof event == 'undefined') {
      event = window.event;
    }
    if (event) {
      event.returnValue = message;
      console.log(event)
    }
    // console.log(event.returnValue)
    return message;
    }  

我在面板上得到了类似的内容

enter image description here

现在问题,我想知道用户按下了什么。如果他按[离开]然后运行功能a,如果他按[保持]然后运行功能b。似乎无法实现这一目标......

1 个答案:

答案 0 :(得分:-2)

创建自己的消息框并使用promise来确定用户已按下的内容。