javascript - NProgress 带有模态对话框以防止点击

标签 javascript jquery

我正在使用 NProgress.js 开发一个应用程序。 它的插件很棒。

我想知道可以与 NProgress(一种模式对话框或类似的东西)一起使用,以防止当 NProgress 在我的 $.ajax 请求中运行时单击。

谢谢

最佳答案

这是可以做到的,但是模态的淡入淡出效果会遮挡 NProgress 显示的加载栏。因此,您可能希望使用类似的方法将加载栏附加到“body”DOM 元素以外的其他元素上

NProgress.configure({ parent: '#newContainer' });

无论如何,只需在 HTML 页面正文中的某个位置放置一个模式 block 即可:

<!-- Modal -->
<div class="modal fade" id="loadingModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h4 class="modal-title" id="myModalLabel">Fetching New Data</h4>
     </div>
   <div class="modal-body">
     Please wait...
  </div>
</div>

在 JavaScript 中初始化它(请注意,keyboard: false 可以防止键入关闭模式,background:static 可以防止点击关闭):

$('#loadingModal').modal({ show: false, keyboard: false, backdrop: 'static'});

然后在 Ajax 调用中适本地显示/隐藏它:

NProgress.start();
$('#loadingModal').modal('show');

$.ajax({...
  }).done(response => {
    // Handle success
  }).fail(err => {
    // Handle errors
  }).always(() => {
    $('#loadingModal').modal('hide');
    NProgress.done()
  });

关于javascript - NProgress 带有模态对话框以防止点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29307968/

相关文章:

Javascript 到 Jquery 的转换,每次迭代都会删除第一个子项

javascript - jQuery延迟将数据发送到div中

javascript - 使用 if 检查时计数器不工作

javascript - jQuery - 如何将两个选择列表组合成一个文本输入?

javascript - react 键盘和输入之间的原生边距

javascript - 如何更改我的网格

javascript - 在第一次和第二次点击时更改 URL

javascript - 滚动到元素 onClick JavaScript

javascript - 在我的例子中如何创建 setTimeout ?

javascript - 为什么在月份下拉列表中选择选项 12 时仅不加载 12 月份?