onclick提示方法未定义

发布于 2022-09-02 10:38:31 字数 172 浏览 17 评论 0

图片描述

如图所示,第 1 种定义方法是有效的,但是第 2 种显示b方法未定义,请问这是什么原因

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

盗琴音 2022-09-09 10:38:34

在第二种方法里,b()是局部变量,只能在a()的函数体内被访问到。通过onclick="b();"的方式只能访问全局作用域下的b(),很显然全局作用域下b()没有被定义。

会发光的星星闪亮亮i 2022-09-09 10:38:34

html的onclick里的b方法指向window.b
第一种全局定义,实际上就是window.b
第二种b是a方法的局部变量,执行时找不到window.b

南风起 2022-09-09 10:38:34
<script>
        function a(){
            var b=function(){
                alert('try');
            }
            return b;
        }
        var c=a();
        var newHtml = '<div class="aa" onclick="c();">the new div</div>';
            $('body').append(newHtml);
    </script>

这样应该可以吧

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文