我想拦截锚点击并显示文本已更改但未使用zebra-dialog在表单中提交的提示。对于任何其他形式的页面离开,我使用内置的浏览器卸载对话框。
以下是我到目前为止的代码,对话框显示,但无论您点击哪个选项,最终都会停留在页面上。
$("body").on("mousedown",'a', function(e) {
if(inputhaschanged) {
return $.Zebra_Dialog("You haven't submitted your comment. Do you wish to leave?", {'type':'question','title':'','buttons': [
{caption: 'No', callback: function() { }},
{caption: 'Yes', callback: function() { return true; }}]
});
}
});
答案 0 :(得分:0)
一种解决方案是禁用页面上所有链接的默认行为,然后检查是否有修改。您还需要调用事件window.onbeforeunload
以防止其他导航方法。
参考:how to stop page redirect
How do you prevent a webpage from navigating away in JavaScript?