使用 jQuery 在当前完成时冻结操作

发布于 2024-10-19 23:40:17 字数 396 浏览 3 评论 0原文

我有链接列表,例如:

<div class="links">
<a href="#" class="link1">link 1</a>
<a href="#" class="link2">link 2</a>
<a href="#" class="link3">link 3</a>
</div>

当您单击某个链接时,它会将一些内容加载到块

ajax 请求的内容,所以它不能立即完成。

当 ajax 查询尚未完成时,如何冻结 .links 块内的点击(它们不应该起作用)?

I have list of links, like:

<div class="links">
<a href="#" class="link1">link 1</a>
<a href="#" class="link2">link 2</a>
<a href="#" class="link3">link 3</a>
</div>

When you click on some link, it loads some content to the block <div class="content"></div>

Content requested by ajax, so it can't be made immediately.

How do I freeze clicks (they should not work) inside block .links, while ajax query is not finished?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

很酷不放纵 2024-10-26 23:40:17

我使用的 jQuery 插件 Block UI。您可以阻止整个页面或仅阻止一个元素。我做这样的事情。

$.ajaxStart({
    $.blockUI({message: 'Please wait...'});
    //this will block any element with the class links
    //$('.links').blockUI({message: 'Please wait...'});
});

$.ajaxStop({
    $.unblockUI();
});

Block UI 有很多演示供您查看,也有很多配置可供您进行。所以你可以把它变成你喜欢的样子。它适用于所有浏览器。

The plugin for jQuery that i use it Block UI. You can block the whole page or just an element. I do something like this.

$.ajaxStart({
    $.blockUI({message: 'Please wait...'});
    //this will block any element with the class links
    //$('.links').blockUI({message: 'Please wait...'});
});

$.ajaxStop({
    $.unblockUI();
});

Block UI has lots of demos for you to look at and lots of configurations to make. So you can make it look how you like. It works on all browsers.

千纸鹤 2024-10-26 23:40:17

尝试切换 css 属性 pointer-events 有关其用法的更多信息此处

Try toggling the css property pointer-events more info on its usage here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文