Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript和jQuery执行/顺序_Javascript_Jquery_Browser - Fatal编程技术网

Javascript和jQuery执行/顺序

Javascript和jQuery执行/顺序,javascript,jquery,browser,Javascript,Jquery,Browser,关于Javascript/jQuery执行及其顺序的问题/澄清 如果我似乎在这里回答了我自己的问题,请原谅,但我觉得我在这个过程中遗漏了一个关键的东西 我被告知我的选择者没有接受,因为DOM还没有准备好,这带来了这个问题。脚本最初在头部使用ready jQuery ready方法 谢谢大家 问题: 无法访问Drupal模板文件 只能加在头上 通过jQuery进行追加对于脚本标记来说不是很有用 我们的解决方案目前正在链接到标记中的文件 我真的想澄清一下这个过程 背景: (很抱歉)。。。 元素不是我

关于Javascript/jQuery执行及其顺序的问题/澄清

如果我似乎在这里回答了我自己的问题,请原谅,但我觉得我在这个过程中遗漏了一个关键的东西

我被告知我的选择者没有接受,因为DOM还没有准备好,这带来了这个问题。脚本最初在头部使用ready jQuery ready方法

谢谢大家

问题:

  • 无法访问Drupal模板文件
  • 只能加在头上
  • 通过jQuery进行追加对于脚本标记来说不是很有用
  • 我们的解决方案目前正在链接到标记中的文件
  • 我真的想澄清一下这个过程
  • 背景:

    (很抱歉)。。。 元素不是我的选择器的目标,来自头部的脚本。语法是正确的,因为它以HTML标记为目标,没有任何问题

    我的理解是,在DOM完全构建之后,将触发ready方法/结果侦听器

    我相信我已经知道:

  • 我知道脚本在理想情况下应该放在标记中结束正文标记的正上方

  • 我知道当标记器遇到脚本标记时,它会停止所有操作并执行脚本(除非是defer/async)

  • 我知道这就是为什么理想情况下应该将它们放置在结束体标记之上,以便DOM就绪

  • 我知道jqueryready方法附加了一个监听器,当加载DOM后浏览器切换到就绪状态时,它就会启动

  • 问题是:

  • 考虑到所有这些,在头部的位置使得ready方法变得无用,因为它会因为标记器而立即执行

  • 这真的只是为了避免碰撞/覆盖多个window.onload吗?(应该澄清一下。)

  • 考虑到所有这些,在头部的位置使得ready方法变得无用,因为它会因为标记器而立即执行

    错。
    ready()
    方法只有在DOM完全加载时才会调用
    ready()
    所做的就是建立一个侦听器,等待DOM加载,以便在DOM准备好被操作时执行
    ready()
    方法中的语句,换句话说,它向
    loaded
    事件添加一个侦听器,该事件仅在文档已完全加载时才会被调用和执行

    这真的只是为了避免冲突/覆盖多个onload吗

    你所说的“冲突/覆盖”到底是什么意思?您可以让多个侦听器在JavaScript中侦听相同的事件,它们不会相互覆盖或冲突。

    从您的问题:

    我知道jqueryready方法会等到加载DOM后浏览器切换到就绪状态

    嗯,有点。jQuery
    ready
    方法不会等待。它附加了一个事件侦听器。该函数已附加,但未执行。该函数仅在DOM就绪时执行;页面的其余部分继续加载


    你真的在这里的微观优化领域。是的,将
    script
    元素放在
    正文的末尾是很理想的,但它在现实中的作用很小,除非你有一个庞大、复杂和耗时的脚本。

    你的问题格式很好,但缺乏上下文。如果您能提供一些关于这个理论如何影响您的应用程序的背景知识,这会有所帮助。你想做什么/做得更好?你好,嗅探员。谢谢你的回复。我想我的困惑是,如果它只在DOM完全加载时执行,那么如果在头部加载,为什么jQuery选择器不工作呢?与我一起工作的开发人员向我提到了这一点,但我正在寻求一些澄清。我知道语法是正确的,因为我的选择器正在处理HTML标记,但内容区域中没有加载任何内容。@Joe如果将jQuery选择器放入
    ready()
    方法中,它们会正常工作。再次感谢Sniffer。我将把它归结为一个更大的问题,而不是我在网站上不知道的问题。一开始有点混乱,所以有时会造成很多挫折。我在自己建造的东西上取得了很大的成功,但有时我会得到一个曲线球。@Joe,不客气。有关此主题的更多信息,请访问Google for JavaScript执行模型。