jquery的网站生活会变慢吗?

前端之家收集整理的这篇文章主要介绍了jquery的网站生活会变慢吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个问题我正在使用 jquery U.I标签,用ajax加载所有内容.现在,我每次点击选项卡时都会将部分视图加载到该选项卡中.

现在在这个局部视图中,它们是javascript文件,它们使用jquery来绑定该选项卡中所需的所有事件以及我正在使用的一些jquery插件.

现在,每次加载该选项卡时,所有这些脚本都会被加载.如果它被点击了10次,那么这些脚本被加载了10次,现在每个说我的按钮现在将有10个相同的事件就意味着如果有人点击那个按钮,10个事件将全部触发并执行相同的操作.

因此,我需要找到一些解决方案,将所有脚本移出并将其放在主页面上并使用jquery.live或其他解决方案.

我试图对UI选项卡使用jquery缓存,但这不起作用,因为在更改效果选项卡B时,表示选项卡B中的某些内容表示我需要重新加载选项卡B但是脚本无法重新加载,否则我会遇到相同的问题现在的问题.

解决方法

Read here是一个很好的演示文稿,涵盖jQuery的事件委托.

看完上面看看这个:

// using jQuery 1.4.2
(function($){
    // You can cache the container you plan on using for event delegation.
    //   If using $(document).ready(...) to call the below functions
    //     your "container" element should already exist in the DOM
    //   (the .specialAjaxLink elements don't have to exist yet).
    var container = $("#container");

    // whenever an element with the class "specialAjaxLink" is clicked
    // while inside your container element execute the handler on them.
    container.delegate(".specialAjaxLink","click",function(){
        // do something amazing...
        solveWorldHunger(this);
        // stop propagation and prevent default...
        return false;
    });
}(jQuery));

使用上述方法时,您不必担心性能问题,除非您创建的应用程序与gmail,docs或google wave一样复杂.

猜你在找的jQuery相关文章