如何修复jQuery链接,如果快速点击则会挂起

时间:2013-04-14 09:18:00

标签: jquery mysql wordpress menu

我的问题是一个访问MySql数据库的jQuery菜单,我相信,如果点击按钮太快,它往往会挂起。有没有办法在加载完成之前停用所有链接?还是另一种解决方案?

在Wordpress网站上,我有一个自定义菜单链接,用jQuery将信息从MySQL加载到主页面区域。我昨天问了这个问题,经过更多的研究彻底改变了代码,所以当我重新设计问题时,我删除了这个问题。 (感谢Mike Brant在我的评论中提出的想法。)

菜单区域具有如下基本链接。 (来自Menu.php)

<ul id="mainMenu">
    <li id="buttonStyle"><a href="M1" id="Left-Menu-Text">Link 1</a></li>
    <li id="buttonStyle"><a href="M2" id="Left-Menu-Text">Link 2</a></li>
</ul>

信息的接受div包含在index.php中(链接略高于加载区域,以适应Wordpress栏中的滚动因素。)

<a href="menuLoadAnchor" name="anchor1"></a>
    /*some code*/
<div id="loadWindow"></div>

菜单的jQuery如下。

function linkScroll(aid){
    var aTag = $("a[name='"+ aid +"']");
    $('html,body').animate({
        scrollTop: aTag.offset().top
    }, 'slow' );
}
$('ul#mainMenu li a').click(function() {
    var page = $(this).attr('href');
    linkScroll('anchor1');
    $('#loadWindow').html("<center><img src='images/loading.gif' /></center>");
    $('#loadWindow').load('./wp-content/themes/themeName/menuFolder/' + page + '.php');
    return false;
});

我不会有这样的问题,因为有人需要非常不耐烦才能发生这种情况。但是当它发生时,它会留下一个开放的进程,我必须登录SSH才能杀死它。有时我需要立即杀死许多人。任何建议都非常感谢。先感谢您。

如果有帮助,我正在运行以下内容。 Wordpress 3.5.1 jQuery 1.8.3 jQuery UI 1.9 php 5.4 MySql Ver 14.14 Distrib 5.5.30我本来会创建一个jFiddle,但DB会删除该选项。

对于那些可能发现这个并且可能遇到我昨天发现的相同问题的人最初我让每个链接从一个单个文件中拉出一个div。实际上每次点击都会发送每个数据库查询。所以我不停地挂着它。将它们分成单独的文件,它们只在单击时将自己的查询发送到数据库。

1 个答案:

答案 0 :(得分:0)

尝试绑定和解除绑定,如下所示:

$(“a”)。bind('click',false);

取消绑定/重新启用:

$(“a”)。unbind('click',false);