如何检查jquery是否从外部JS文件加载
How can I check if jquery is loaded from external JS file?
我有一个外部JS文件来管理我的页面中的所有脚本。我想在这个文件中写一些代码来检查是否jquery插件加载和(如果没有)加载它!
我尝试用以下代码开始我的myScripts.js文件:
if (typeof jQuery == 'undefined') {
var script = document.createElement('script');
script.type = "text/javascript";
script.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(script);
}
在我的index。html
我这样做了:
<!DOCTYPE html>
<html lang="pt-br">
<head>
<script src="myScripts.js"></script>
</head>
<body>
<button id="test">test</button>
<script>
$('#test').click( function() {
alert('clicked');
});
</script>
</body>
</html>
但是它没有执行警告对话框。怎么了?
将click
事件包含在$(document).ready
中,以确保当DOM
准备就绪时触发该事件。
$(document).ready(function(){
$('#test').click( function() {
alert('clicked');
});
});
使用脚本添加jquery文件时。它将不可用,所以你必须添加onload侦听器来检测它何时可用。
function fnjquery() {
$('#test').click( function() {
alert('clicked');
});
}
if(typeof jQuery=='undefined') {
var headTag = document.getElementsByTagName("head")[0];
var jqTag = document.createElement('script');
jqTag.type = 'text/javascript';
jqTag.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js';
jqTag.onload = fnjquery;
headTag.appendChild(jqTag);
} else {
fnjquery();
}
这是一个工作提琴
function myJQueryCode() {
//Do stuff with jQuery
$('#test').click( function() {
alert('clicked');
});
}
if(typeof jQuery=='undefined') {
var headTag = document.getElementsByTagName("head")[0];
var jqTag = document.createElement('script');
jqTag.type = 'text/javascript';
jqTag.src = '//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js';
jqTag.onload = myJQueryCode;
headTag.appendChild(jqTag);
} else {
myJQueryCode();
}
<button id="test">
click
</button>
相关文章:
- Firebase2(Firebase.google.com)推送通知-从外部管理
- 如何从外部页面激活非默认引导选项卡
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 如何从外部url寻址数据
- 如何检查该函数是否从外部js文件调用
- 是否可以从外部样式表中获取 dom 元素的特定 css 属性的值,而不是从计算的样式表中获取
- 是否有任何方法可以使用JQueryGetJSON方法从外部页面获取HTML
- 是否可以从外部文件控制拖缆
- 是否可以将Cordova exec命令从外部网络发送到Cordova应用程序
- AngularJs:是否可以从外部将值传递给控制器或指令
- 是否可以从外部javascript文件调用Razor@函数
- 是否可以从外部网站使用XML ?
- 是否有一种方法可以从外部服务器捕获http/s响应
- 是否有可能将图像从外部源转换为base64字符串客户端
- 是否可以从外部url访问内部jQuery #链接(直接访问单个网站部分)?
- 是否有可能从外部样式表中拉入所有样式并将它们放在同一页面上?
- 如何检查jquery是否从外部JS文件加载
- 是否可以使用extendscript从外部illustrator文件加载对象属性
- 是否可以在从外部网络服务器加载的Web应用程序中使用Electron
- 在AngularJS中,是否可以强制视图从外部进行更新's控制器