我有一个用JS编写的UWP应用程序 . 我已经为click事件的按钮添加了一个事件处理程序 . 这会触发一个使用UWP中的WebAuthenticationBroker启动身份验证过程的函数 .

if (document.getElementById('aadStartAuthButton')) { 
    document.getElementById('aadStartAuthButton').addEventListener('click', aadStartAuth, false); 
}

按钮单击处理程序工作正常,当我按下按钮时,它会触发该功能,但是,还会发生其他事情 . WinJS日志显示HTML1300 Navigation Occured事件也会发生 . 后台中的页面似乎刷新,导致它突破该功能并且永远不会完成它的任务 .

当然,单击事件处理程序不应该触发页面刷新?我在这里做错了吗?

我知道有些事情是不对的,因为在应用程序中,我做的第一件事就是设置var . authInProgress = false; 和被调用的函数将此设置为 authInProgress = true; ,以便我可以跟踪进度 . 如果我在代码顶部附近的某处附加一个断点,我可以看到authInProgress被恢复为false .