【问题标题】:External JavaScript with jQuery dependence being loaded before jQuery在 jQuery 之前加载具有 jQuery 依赖性的外部 JavaScript
【发布时间】:2014-06-19 08:34:14
【问题描述】:

外部加载脚本,但我的脚本是由客户端放置在 jQuery 之上的(这是必需的),因此我的脚本不起作用。

我试图让我的代码等到 jQuery 加载完成后再执行,但是我在代码中的嵌套函数方面遇到了困难;特别是$(x).hover,或$(x).click等。

我可以毫不费力地分离我的函数,其中包括 jQuery 选择器(但除非 'x y or z' 完成(即直到加载 jQuery),否则它们不会被调用。

我不知道如何实现悬停、单击等,因为它们在我的$(document).ready(function(){... 中不起作用,该$(document).ready(function(){... 位于下面描述的 onload yourFunctionName 中 - 感谢用户 @chaos

onload 挂钩链接:https://stackoverflow.com/a/807997/1173155

以及上述链接的引用:

if(window.attachEvent) {
    window.attachEvent('onload', yourFunctionName);
} else {
    if(window.onload) {
        var curronload = window.onload;
        var newonload = function() {
            curronload();
            yourFunctionName();
        };
        window.onload = newonload;
    } else {
        window.onload = yourFunctionName;
    }
}

在此先感谢您提供任何帮助。


我还研究了一个循环,该循环检查是否在 continueing 之前激活了 jQuery,但没有实现它,因为我发现 JavaScript 没有足够的 sleep 方法来休眠该特定脚本。

【问题讨论】:

  • 你能发个小提琴吗?以及为什么需要在您的 jQuery 脚本之上?
  • @ejay_francisco 抱歉,不需要在最上面,这就是客户这样做的方式。
  • 请发布一个小提琴,以便我们可以提供相应的帮助
  • 你不能告诉你的客户脚本需要放在jquery行之后吗?对我来说似乎是最好的解决方案。我不明白为什么客户会关心。
  • @Joonas 我已经这样做了,但是它们的速度很慢——实际上他们通过试用该软件是在帮我们一个忙。我们还刚刚起步,所以我想在他们最终做出必要的改变之前尝试解决它

标签: javascript jquery onload jquery-on


【解决方案1】:

解决方案:

if(typeof jQuery === "undefined"){
    if(window.attachEvent) {
        window.attachEvent('onload', myLoadFunction);
    } else {
        if(window.onload) {
            var curronload = window.onload;
            var newonload = function() {
                curronload();
                myLoadFunction();
            };
            window.onload = newonload;
        } else {
            window.onload = myLoadFunction;
        }
    }
}
else {
myLoadFunction();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多