我们有用springmvc编写的web应用程序。
这里我们有jsp用于呈现HTML,我们使用jQuery。
基于jquery,我们实现了处理IE7的pageleaving插件。
我们会抓住所有点击事件,例如$("body").on ("click", "a, button" function (e) {...})
我们拦截点击<a>
的按钮以及将重定向到不同页面的按钮,我们会显示确认弹出窗口,其中包含jQueryUI及其弹出引擎。它的工作非常完美。
现在我们正致力于迁移到angularJS。我们只有很少的页面是用角度写的,而其他页面仍然是用jsp渲染的。
我尝试在angular上实现页面离开服务
我试图用$rootScope.$on('$locationChangeStart', function () {
或者拦截页面离开事件
$rootScope.$on('$routeChangeStart', function () {
以及这些成功方法,但此解决方案仅适用于角度页面。当我点击弹簧页面链接时,我提到的那些事件不会发生。
目前我已经实施了像
这样的服务app.factory('pageLeavingHandler', ...
使用jquery和$("body").on ("click", "a, button" function (e) {...})
来捕获所有点击事件。
我使用角度UI模式而不是jquery UI。
我不是非常喜欢在Angular中使用原始jquery,但是我无法通过另一种方式来解决这个问题。
有人知道如何更好地解决这个问题吗?