如果您想在单击按钮时动态加载 jQuery(如果您解释了“为什么”要这样做会有所帮助),那么您可以使用这样的函数来加载它:
function loadScript(sScriptSrc, oCallback) {
var oHead = document.getElementsByTagName('head')[0];
var oScript = document.createElement('script');
oScript.type = 'text/javascript';
oScript.src = sScriptSrc;
// most browsers
oScript.onload = oCallback;
// IE 6 & 7
oScript.onreadystatechange = function() {
if (this.readyState == 'complete') {
oCallback();
}
}
oHead.appendChild(oScript);
}
请注意,在加载 jQuery 之前,您的其他 jQuery 代码无法运行。您的代码可能如下所示:
<a href="#image_link" title="PutLockerMedia" id="click">watch</a>
<div style="display:none">
<div id="image_link">
<div class="imageWrapper">
<div class="image">
<iframe src="http://www.putlocker.com/embed/E25FA20CE8643E5F" width="600" height="360" frameborder="0" scrolling="no"></iframe>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function loadScript(sScriptSrc, oCallback) {
var oHead = document.getElementsByTagName('head')[0];
var oScript = document.createElement('script');
oScript.type = 'text/javascript';
oScript.src = sScriptSrc;
// most browsers
oScript.onload = oCallback;
// IE 6 & 7
oScript.onreadystatechange = function() {
if (this.readyState == 'complete') {
oCallback();
}
}
oHead.appendChild(oScript);
}
function jQueryLoaded() {
$("#click").fancybox({'scrolling': 'no','titleShow': false,'onClosed':
function(){$("#login_error").hide();}});
});
}
document.getElementById("myButton").addEventListener("click", function() {
// load jQuery and when it's loaded, call jQueryLoaded
loadScript("jquery.js", jQueryLoaded);
}, false);
</script>
其他参考答案:
How to know if JQuery has finished loading
Javascript multiple Dynamic Insertion