Вот упрощенная версия кода, который мы используем. Цель состоит в том, чтобы загрузить jQuery в asyn c и использовать ссылки jQuery в функции doSomething (). Если функция doSomething () закодирована внутри функции «onload», она больше не находится в области видимости окна, и ссылка «A» не работает.
Однако, если функция doSomething () закодирована внутри основного do c, jQuery может загружаться или не загружаться до DomContentLoaded.
<a href="javascript:doSomething()">Do it</a>
<script>
function doSomething(){
$("#aaaa").fadeIn( "slow", function(){});
}
</script>
<script src="jquery.js" async id="jQ"></script>
<script>
document.getElementById("jQ").onload = function(){
doSomething();
}
</script>
Спасибо @ skobalji c и @vitkarpov, ваши решения сработали.
Новый рабочий код:
<span id="cob1" data-action="args1">Do it</span>
<span id="cob2" data-action="args2">Do it again</span>
<script src="jquery.js" async id="jQ"></script>
<script>
document.getElementById("jQ").onload = function(){
$("#cob1,#cob2").click(function(a){
a = $(this).attr('data-action');
$("#" + a).fadeIn( "slow", function(){});
});
}
</script>