我想在用户离开选项卡之前通知用户保存更改(仅当他们没有单击保存按钮时)。我发现了很多关于脏页面,jquery,onbeforeunload等的示例,但是每个示例都会在用户离开页面之前通知用户,因为我想在他们更改或移动到同一页面导航栏中的其他选项卡之前通知他们。请帮我出来通知用户在更改选项卡时保存更改
1
A
回答
0
很基本,也可能不符合你的需求,但它的种可能实现。
该方法只检测window
的blur
和focus
事件。另外,它还会在窗口外点击时触发警报。不幸的是,您可能会尽可能接近检测标签更改。
$(window).focus(function() {
//They are staying on the page
console.log("You've chocen to stay")
});
$(window).blur(function() {
//They're leaving the tab
alert("Sure you don't want to stay?");
});
+0
$ scope。$ on('$ destroy',function(){ \t \t window.onbeforeunload = undefined; \t}); \t $范围。在$( '$ locationChangeStart',函数(事件,接下来,电流){ \t \t如果($ scope.needToConfirm ==真){ \t \t \t如果(确认(“你忘了保存!!“)){ \t \t \t \t事件。的preventDefault(); \t \t \t} \t \t} \t});这对我来说Thanq都有效 – Meena
相关问题
- 1. JTabbedPane:更改选项卡标题时更改选项卡大小
- 2. p:selectOneMenu在选项卡变更时更改
- 3. 在用户选择时更改选项值更改
- 4. 当选项卡聚焦MultiPageEditorPart中的更改时获取通知
- 5. 更改URL不会更改选项卡
- 6. TabControl保存选定的选项卡项目已更改
- 7. 如何知道用户是否更改了选项卡?
- 8. jquery选项卡更改选项卡更改时的背景图片
- 9. 收到推送通知后更改选定选项卡
- 10. EF 5在调用保存更改时未保存更改
- 11. 更改ViewPager选项卡ImageViews:
- 12. Detect Materializecss选项卡更改
- 13. 更改选项卡顺序
- 14. MVVM Tabcontrol更改选项卡
- 15. Intellij和更改选项卡
- 16. 在选项卡更改期间更改应用程序标题
- 17. 更改选项卡选择选项卡时的文本颜色
- 18. 如何在TabbedViewNavigatorApplication中更改选项卡时保持视图
- 19. Phaser - 如何在更改Web选项卡时保持补间?
- 20. 复选框 - 更改通知
- 21. Android - 每次更改通知时更改通知的变量
- 22. 当选定的功能区选项卡项更改时更改视图
- 23. 在其他选项卡中更改indexedDB条目时收到通知
- 24. 在方向更改后更改选项卡后,选项卡内容保持可见状态
- 25. 如何保存用户交互更改的选项?
- 26. 使用android上的选项卡更改方向更改布局?
- 27. 更改时通知WPF DataGrid
- 28. gpio值更改时通知
- 29. 使用Javascript更改Chrome选项卡
- 30. 使用按钮更改QTabWidget选项卡
这是不可能的。当用户在活动标签之间切换时,Javascript不会收到任何事件。 –
为您的页面上的选项卡提供点击/焦点处理程序。点击/聚焦时,检查数据是否被保存,当一个选项卡不等于他们当前所在的选项卡时。如果您在讨论用户何时切换浏览器选项卡,$(window).on(“blur”,function(){alert(“您为什么要离开?”);});会在用户尝试切换浏览器标签时提醒用户 – mhodges
可能定义了一个在用户保存时变为true的变量,以及每次点击新标签时检查变量值的函数。你只需要小心地重新设置它,或者每个标签都有一个单独的变量(但是你可能仍然希望重置,因为它们可能会在同一个会话中导航回该标签并添加更多信息 - 而且你不会“不想已被保存了它的旧值在这种情况下仍然存在) – HolyMoly