我用了 js 的 window.onload = function(){}方法,虽然是好用的,但还是请问如何让 jq 在底部引用还可以在 jq 的引用上面使用$方法;
这个是hexo的代码 jquery引用在了底部
1
IdJoel OP 是这个问题太简单没有人愿意回答吗?
|
2
halfcoder 2016-10-21 11:39:38 +08:00
是什么原因让你没法做到先引入 jquery 再使用$,我很好奇
|
3
qiayue 2016-10-21 11:43:16 +08:00
$(function(){
;;;;//code here }); |
4
hansnow 2016-10-21 11:44:47 +08:00
在引入 jquery 之前就是没办法用$
|
5
starvedcat 2016-10-21 11:45:17 +08:00
无责任脑补一下:
jquery 引入在底部,$ready 就要用到$,但页面还没加载 jquery ,(但如果)不用$ready ,下面的 jq 代码就没办法运行 |
6
Trim21 2016-10-21 11:47:47 +08:00 via Android
为什么不能把引用放到上面或者代码放到下面?
|
7
oa414 2016-10-21 11:52:08 +08:00
jQuery 作为最基础的库应该在 head 标签里面阻塞地引入,然后 DOM 底部调用 $.ready 。
或者用模块加载器引入 jQuery, 并用模块加载器在 jQuery 加载完成之后执行 $.ready 部分代码 (估计你做的东西没有复杂到要这样做不可) 。 我猜你想在底部引入是为了让 DOM 内容加载更快,但是我觉得压缩+CDN 加载已经够快了,如果是移动端弱网环境,可以考虑内联 Zepto 。 |
8
IdJoel OP @starvedcat 我就是你这么想的 无限死循环 我快死在这里面了
@qiayue 我试过了 也不好用 onload 都不行 @Trim21 @halfcoder @hansnow 是 hexo 的模板里面把 jq 引到下面去了 我在页面中想写一段 demo 展示效果 我没改 hexo 的默认模板 |
11
IdJoel OP @hansnow 对于这种引两个 jq 的做法。。。我觉得我宁愿用 window.onload = function(){}..... 不过还是谢谢了~~
|
12
ChiangDi 2016-10-21 11:59:30 +08:00 via Android
你咋不上天
|
13
archey 2016-10-21 12:06:20 +08:00
在引入的 js 的 js 里面,在引入 jq 嘛,不想改模版的话
|
15
m939594960 2016-10-21 13:06:17 +08:00
setInterval(function (){
if(typeof jQuery == 'undefined'){ console.log('没加载 jquery') }else{ console.log('js 加载好了 请写你的逻辑') } },1000) |
16
m939594960 2016-10-21 13:06:36 +08:00
```js
setInterval(function (){ if(typeof jQuery == 'undefined'){ console.log('没加载 jquery') }else{ console.log('js 加载好了 请写你的逻辑') } },1000) ``` |
17
HaEx 2016-10-21 17:07:13 +08:00
不错
|
18
SoloCompany 2016-10-22 02:00:05 +08:00
<script>
var yourBootstrapFunction = function() { $("p").text("The DOM is now loaded and can be manipulated."); }; </script> html here <p>Not loaded yet.</p> <script src="jquery.js"></script> <script> $(document ).ready(yourBootstrapFunction); </script> |