Как использовать код jQuery в области окна, когда jQuery асинхронен - PullRequest
0 голосов
/ 30 апреля 2020

Вот упрощенная версия кода, который мы используем. Цель состоит в том, чтобы загрузить 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...