gpt4 book ai didi

jquery - jquery live 会减慢网站速度吗?

转载 作者:行者123 更新时间:2023-12-03 22:49:10 24 4
gpt4 key购买 nike

我在使用 jquery U.I 选项卡时遇到一个问题,该选项卡通过 ajax 加载所有内容。现在,每次您单击选项卡时,我都会看到部分 View 会加载到该选项卡中。

现在,在此部分 View 中,它们是 javascript 文件,这些文件使用 jquery 绑定(bind)该选项卡中所需的所有事件以及我正在使用的一些 jquery 插件。

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

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

我尝试对 U.I 选项卡使用 jquery 缓存,但这不起作用,因为选项卡 A 中的某些内容更改后效果选项卡 B 意味着我需要重新加载选项卡 B,但脚本无法重新加载,否则我运行陷入与现在相同的问题。

最佳答案

Read here精彩的演示涵盖了 jQuery 的事件委托(delegate)。

读完上面的内容后,看看这个:

// 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 - jquery live 会减慢网站速度吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1436738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com