单击浏览器后退按钮时如何调用jquery事件。我正在使用asp.net mvc中的单个页面应用程序,并且当用户按下浏览器的后退按钮时,我想显示一个确认框以离开屏幕。我如何在浏览器后退按钮上调用jquery函数。请帮忙。我已经搜索并发现推状态事件,但我没有得到如何使用它在我上面描述的情况。单击浏览器后退按钮时如何调用事件
回答
window.userInteractionTimeout = null;
window.userInteractionInHTMLArea = false;
window.onBrowserHistoryButtonClicked = null; // This will be your event handler for browser navigation buttons clicked
$(document).ready(function() {
$(document).mousedown(function() {
clearTimeout(window.userInteractionTimeout);
window.userInteractionInHTMLArea = true;
window.userInteractionTimeout = setTimeout(function() {
window.userInteractionInHTMLArea = false;
}, 500);
});
$(document).keydown(function() {
clearTimeout(window.userInteractionTimeout);
window.userInteractionInHTMLArea = true;
window.userInteractionTimeout = setTimeout(function() {
window.userInteractionInHTMLArea = false;
}, 500);
});
if (window.history && window.history.pushState) {
$(window).on('popstate', function() {
if (!window.userInteractionInHTMLArea) {
// alert('Browser Back or Forward button was pressed.');
}
if(window.onBrowserHistoryButtonClicked){
window.onBrowserHistoryButtonClicked();
}
});
}
});
[JS或Jquery的浏览器的后退按钮点击检测器(的
很好的解决方案。正是我在找什么。万分感谢。你让我的一天... – 2014-09-05 10:53:17
这不适合我..也没有给出任何错误:( – Simone 2015-07-08 07:22:27
jQuery(document).ready(function($) {
if (window.history && window.history.pushState) {
window.history.pushState('forward', null, './#forward');
$(window).on('popstate', function() {
alert('Back button was pressed.');
});
}
});
即使我点击定位标记并在页面加载时首次导航,此代码也会显示提醒。我希望它只能在浏览器的后退按钮上执行。 – 2014-09-05 09:37:57
window.history检查是在这里确定你是否已经加载了一个新页面。如果不是window.history为空,并且您不能触发警报消息。你可能在你的js脚本中有错误,所以从浏览器中检查javascript控制台 – 2014-09-05 09:45:17
- 1. Gmail - 后退按钮点击浏览器
- 2. 点击Ipad浏览器后退按钮
- 3. 在浏览器上触发事件后退按钮点击
- 4. 单击浏览器的后退按钮后保留表单值
- 5. 单击浏览器后退按钮时页面不一样
- 6. 单击浏览器后退按钮时无法检索会话
- 7. 浏览器后退按钮
- 8. 单击浏览器后退按钮时,在页面上禁用提交按钮
- 9. 当用户点击浏览器后退按钮时触发事件
- 10. 调用PHP函数,当浏览器后退按钮点击
- 11. 什么是存储并单击后退按钮浏览器
- 12. mvc,如何防止点击浏览器的后退按钮?
- 13. 如何防止浏览器后退按钮点击闪烁
- 14. 当我点击浏览器后退按钮或移动设备后退按钮
- 15. Asp.Net在浏览器上点击后退按钮时强制Page_Load
- 16. 单击浏览器上的后退按钮时丢失表单数据
- 17. 如何在用户点击浏览器后退按钮时显示警报?
- 18. 移动浏览器的后退按钮事件处理
- 19. 处理浏览器中的后退按钮事件
- 20. Android:浏览器后退按钮不会触发$ getJSON事件
- 21. 在浏览器的后退按钮上出现ASP.NET事件
- 22. gridview和单选按钮列表浏览器后退按钮
- 23. 如何在JSP注销后禁用浏览器后退按钮?
- 24. ASP向导浏览器后退按钮
- 25. 浏览器后退按钮/ #one #two等
- 26. Jquery .toggle()和浏览器后退按钮
- 27. 浏览器后退按钮asp.net
- 28. 疼痛浏览器的后退按钮
- 29. 后退按钮(浏览器行为)
- 30. CORS浏览器后退按钮错误
可能重复http://stackoverflow.com/questions/17594413/js-or-jquery-browser-back-按钮单击检测器) – Manwal 2014-09-05 09:29:16
请查看http://www.webdevelopmenthelp.net/2013/12/browser-back-button-click-event.html – 2014-09-05 09:29:55
您可以使用jQuery unload方法。 ());( http://api.jquery.com/unload/ $(window).unload(function(){ alert(“Handler for .unload()called。”); }); – 2014-09-05 09:40:23