遨翔在知识的海洋里----(onclick和jquery,click)

260 阅读1分钟

jquery function声明

<body>
    <button onclick="test()">aa</button>
</body>

<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script>
    $(function() {
        function test() {
            console.log("aa")
        }
    })
</script>

报错

test55ss.html:12 Uncaught ReferenceError: test is not defined
    at HTMLButtonElement.onclick (test55ss.html:12)

因为$(function(),是html加载完成后才执行,此时的<button onclick="test()">aa</button>,已经生成,但是对应的function test()还没有生成

$(function() {
})

正确写法

<body>
    <button onclick="test()">aa</button>
</body>

<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script>
    function test() {
        console.log("aa")
    }
</script>

原生js和jquery对比

<body>
    <button onclick="test1(this)">test1</button>
    <button id="test2" onclick="test2()">test2</button>
</body>

<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script>
    function test1(obj) {
        $(obj).html("aa");
    }

    function test2() {
        $("#test2").html("bb");
    }
</script>