Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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中使用$(document).ready()的可靠方法 让我们说,在页面生成的中间,例如PHP脚本,需要用jQuery准备好一些代码,例如 $( document ).ready(function() { console.log( "hi!" ); });_Javascript_Jquery - Fatal编程技术网

Javascript 在jQuery中使用$(document).ready()的可靠方法 让我们说,在页面生成的中间,例如PHP脚本,需要用jQuery准备好一些代码,例如 $( document ).ready(function() { console.log( "hi!" ); });

Javascript 在jQuery中使用$(document).ready()的可靠方法 让我们说,在页面生成的中间,例如PHP脚本,需要用jQuery准备好一些代码,例如 $( document ).ready(function() { console.log( "hi!" ); });,javascript,jquery,Javascript,Jquery,问题是,在这一点上,您不知道jQuery是否已加载,如何修改上述代码,以便两种情况都将得到处理 更新:我问的原因是我想在WordPress博客文章中添加一些JS代码,但jQuery加载在页脚中(我无法更改),因此我希望找到可靠的解决方案,在jQuery加载到页眉和页脚时都能工作。如果您在文档中只有console.log()函数,则可以:)(我的意思是没有jQuery) 其他(更新) 试试这个:如果($){…}简单地不要在页面生成的中间附加代码——只包括在结尾的所有东西。或者,在你的脚本标签中包含

问题是,在这一点上,您不知道jQuery是否已加载,如何修改上述代码,以便两种情况都将得到处理


更新:我问的原因是我想在WordPress博客文章中添加一些JS代码,但jQuery加载在页脚中(我无法更改),因此我希望找到可靠的解决方案,在jQuery加载到页眉和页脚时都能工作。

如果您在文档中只有console.log()函数,则可以:)(我的意思是没有jQuery)

其他(更新


试试这个:如果($){…}简单地不要在页面生成的中间附加代码——只包括在结尾的所有东西。或者,在你的脚本标签中包含导入jQuery的代码。如果你把它包含在它之前,它就永远不会工作。如果你把代码包含在它后面,它总是会工作的。很简单。如果你的代码是在脚本导入jQuery之后插入的,如果你这么做了。不要显式地将脚本声明为异步脚本,那么在加载jQuery之前它不会被执行。这回答了你的问题吗?如果不是,那么你的确切用例是什么?@MMM,我已经正确地更新了我的问题use
wp\u enqueue\u script()
,你不必担心这些问题。
if(typeof window.jQuery === "undefined") {
  window.onload = function () {
    console.log("hi!");
  }
} else {
  jQuery(document).ready(function() {
    console.log("hi!");
  });
}
var j = document.createElement('script');
j.type = "text/javascript";
j.url = "url/to/your/jQuery";
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(j, s);
/** then your code */