我有申请。 客户端是 - 淘汰赛。
所以我有一个带有表单的页面,我想在他尝试去另一个页面之前询问用户confirametion(如果他改变了某些东西(这个pard准备就绪))
所以在所有网站上路由 - 它的Sammy.js。
我试过了: Sammy JS - 之前
function ViewModel()
{
Sammy.before(/.*/, function () {
if (window.confirm('Really go to another page?')){
}
else{
//DO NOTHING AND STAY IN THE SAME PAGE
//OR SOMETHING ELSE THAT YOU WANT
return false;
}
});
}
它的工作,但它仍然适用于所有网站 - 而且它很糟糕。 我没有找到禁用它的方法,所以也许我可以在没有sammy的情况下做到这一点???
谢谢你们!
更新:本网站为SPA
答案 0 :(得分:0)
您可以使用before
,但必须指定选项以仅在必要时显示确认对话框。请参阅docs。您指定为所有路由运行它,您必须指定要执行的路由。之前选项仅为您提供下一条路线的信息。如果它取决于当前路由,您可以检查当前URL:
function extractSammyUrlFrom (context)
{
// get the hash fragment (curernt route)
"#" + context.path.split("#")[1] ;
}
如果它取决于页面中的任何其他内容,请在显示对话框之前进行检查。