单击浏览器后退按钮时如何调用事件 [英] How to call an event when browser back button is clicked
本文介绍了单击浏览器后退按钮时如何调用事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
单击浏览器后退按钮时如何调用jquery事件.我在asp.net mvc中使用了一个单页应用程序,当用户按下浏览器的后退按钮时,我想显示一个确认框以离开屏幕.我如何在浏览器后退按钮上调用jquery函数.请帮忙.我已经搜索并发现了推送状态事件,但在上述情况下我没有得到如何使用它的机会.
How to call a jquery event when browser back button is clicked. I am using a single page application in asp.net mvc and i want to show a confirm box to leave the screen when user press the back button of the browser. How can i call a jquery function on browser back button. Please help. I have searched and found push state event but i did not get how to use it in my case described above.
推荐答案
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 ();
}
});
}
});
这篇关于单击浏览器后退按钮时如何调用事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文