1

我的问题是一个 jQuery 菜单,它访问一个 MySql DB 并且倾向于挂起,我相信,如果按钮被点击得太快。有没有办法在加载完成之前停用所有链接?还是另一种解决方案?

在 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 但数据库消除了该选项。

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

4

1 回答 1

0

尝试如下绑定和解除绑定:

$("a").bind('click', false);

并取消绑定/重新启用:

$("a").unbind('click', false);

于 2013-06-30T03:19:55.480 回答