javascript 函数在 jquery $(document).ready 块中不起作用

2024-03-18

我正在尝试打电话JavaScript函数从onclick扳机。

HTML部分:

<div class="my_radio">
    <input type="radio" name="my_radio" value="1" onclick="my_func()"/>  first button
</div><!-- end of class my_radio -->

And the JavaScript code

<script type="text/javascript">
    $(document).ready(function(){
        function  my_func(){
            alert("this is an alert");
        }
    });
</script>

这是行不通的。

但如果我保留JavaScript函数出$(document).ready()代码,它有效。以下是相关代码片段:

<script type="text/javascript">
    $(document).ready(function(){
        function  my_func111(){
            alert("this is an alert");
        }
    });

    function  my_func(){
        alert("this is an alert");
    }
</script>

1)为什么不是第一个JavaScript代码片段工作吗?

2)我怎样才能获得第一JavaScript代码片段工作吗?

EDIT :

据我所知,$(document).ready()当网页完全加载时执行。那么我该如何预防my_func()如果我写的话,在完成页面加载之前或之后处于活动状态my_func()外部$(document).ready()?


这都是关于 javascript 执行上下文和范围的。

您在函数中定义的所有内容仅在该函数中才知道。

在您的第一个测试中,该函数my_func()只能在就绪回调中使用(以及在内部其他对象中)。你不能在外面引用它。

在你的第二个例子中,函数my_func()对于文档来说是全局的并且可以从任何地方访问。

我知道这可能是一个非常简单的解释:-)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

javascript 函数在 jquery $(document).ready 块中不起作用 的相关文章

随机推荐