使用不同的变量值多次执行外部javascript文件中的$(document).ready()中的代码

execute code in $(document).ready() in external javascript file multiple times with different variable values

本文关键字:文件 document ready javascript 代码 外部 变量值 执行      更新时间:2023-09-26

如何运行一个外部javascript文件,该文件多次在$(document).ready()事件上执行代码,每次都有不同的本地变量值?

由于$(document).ready()事件中的代码是在DOM完全加载时执行的,因此下面的代码会两次提醒"bar"。

external_script.js:

$(document).ready(function(){
    var local_var = global_var;
    alert( local_var );
});

index.html:

<script>global_var = "foo";</script>
<script src="external_script.js"></script>
<script>global_var = "bar";</script>
<script src="external_script.js"></script>

我能做到吗?在第二次调用external_script.js时,它会提醒一个不同的值?

您正在尝试使用全局变量进行丑陋的副作用破解。请,请将您的代码修复为一个接受参数的函数,当文档准备好时,您只需使用不同的参数调用两次即可。

谢谢,这正是我所需要的。现在我的代码看起来是这样的:

external_script.js:

function do_stuff( local_var ) {
    alert( local_var );
}

index.html:

<script src="external_script.js"></script>
<script>
    $(document).ready(function(){
        do_stuff( "foo" );
        do_stuff( "bar" );
    });
</script>
相关文章: