如何在窗口选项卡关闭的angualrjs中调用函数(UNBOUND函数)?

时间:2017-02-17 09:58:57

标签: javascript jquery angularjs

我在控制器上有一个ajax调用,我需要在窗口关闭或位置更改时调用函数

我的示例函数调用是:

$scope.func = function()
{
  //ajax code goes here
}

我也试过以下方法

$scope.$on('$locationChangeStart', function( event ) {
  var answer = confirm("Are you sure you want to leave this page?")
   if (!answer) {
     event.preventDefault();
     //ajax code goes here
   }
});

2 个答案:

答案 0 :(得分:1)

当人们离开您的网页时,请使用onbeforeunload事件。

https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload

答案 1 :(得分:1)

在定义函数的同一个控制器中,您可以在sub对象上附加事件监听器:

window

或者您可以将window.onclose = function() { $scope.func } 添加到onunload代码:

body

请注意,应用名称必须位于<body onunload="func()"> 标记中。