为什么这个点击事件里的方法没有执行呢?

伪代码如下;

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<a id="eng" href="">ENGLISH</a>
</body>
</html>
<script src="https://cdn.staticfile.org/jquery/3.3.1/jquery.js"></script>
<script>

    $(function(){

        $("#eng").on('click', function(){

            fn1();
            fn2();
            fn3();

        });

        function fn1(){
            console.log('fn1');
        };
        function fn2(){
            console.log('fn2');
        }
        function fn3(){
            console.log('f3');
        }

    });


    function fnK1(){
        console.log('fnK1');
    }
    function fnK2(){
        console.log('fnK2');
    }
    function fnK3(){
        console.log('fnK3');
    }

    fnK1();
    fnK2();
    fnK3();



</script>

这里的逻辑是,正常情况下加载fnK1(), fnK2(), fnK3()这三个方法;点击id=eng这个链接之后,加载click事件里的三个方法;


更新了一下主楼的伪代码,可以在本地跑一下看看;
把代码抽出来写了个demo定位一下问题,fn1()这三个方法都执行了;我知道是因为fnK1()这三个方法是最后顺序执行的,所以导致的这个问题;所以,应该是这块的代码逻辑有问题...

一只甜甜圈
浏览 481回答 5
5回答

有只小跳蛙

经验证,可执行。 问个比较弱的问题,你的脚本在浏览器开发者工具里提示警告了吗:会不会没有引入jQuery,也或者有脚本报错

当年话下

不会有问题的, 你把几个几个函数简化下只输出一些文字, 排除函数执行脚本出错

红糖糍粑

你这问题没有说明,忽略引入错误,假如你的脚本是在你的body头部之上,那就是你说的情况了,麻烦你在测试定位详细点

浮云间

浏览器原因、jquery版本问题都会出现这些问题,建议你console下
打开App,查看更多内容
随时随地看视频慕课网APP