问答详情
源自:7-1 jQuery自定义事件之trigger事件

这段代码什么意思

 $("button:last").click(function() {

        $("button:first").trigger('click','last');

    });

这里面的last是什么?参数?怎么传递啊?还有下面那个bottonname是啥?

提问者:qq_梦里_0 2016-08-05 15:08

个回答

  • 慕粉4418738
    2017-01-09 10:22:54

     //点击更新次数

        $("button:first").click(function(event,bottonName) {

            bottonName = bottonName || 'first';

            update($("span:first"),$("span:last"),bottonName);      //1号位

        });


        //通过自定义事件调用,更新次数

        $("button:last").click(function() {

            $("button:first").trigger('click','last');

        });


        function update(first,last,bottonName) {                         //2号位

            first.text(bottonName);

            var n = parseInt(last.text(), 10);

            last.text(n + 1);

        }

    update很误导人,1号位的update不是原生函数,它所表示的实际上就是后文咱们自定义的2号位的update函数。

    然后就可以清楚看到,三个参数是对应的。1号位的update()是对后文2号位函数的主动调用。而trigger()又会调用click函数,所以无论点哪个按钮,2号位函数都会起作用。

    建议大家把update都改成别的名字再试试就懂了。一直觉得教程不该用这种“疑似原生函数名”,容易混淆,我们萌新经常栽在这里。

  • 云彩无色3804005
    2016-12-09 13:31:54

    我也看的晕的很,last怎么传到里面的?

  • 以茜为贵
    2016-08-15 14:55:01

     var n = parseInt(last.text(), 10); 这段里面的10是干什么用的


  • Be_Stronger
    2016-08-12 17:25:52

    bottonName = bottonName || 'first'; 

    所以上面这段话,可以怎么解释呢

    这篇看了有点懵懂阿~~~


  • Be_Stronger
    2016-08-12 16:55:06

    借问,||这符号是什么意思啊

  • kking_xyz
    2016-08-05 15:56:53

        $("button:first").click(function(event,bottonName) {
            bottonName = bottonName || 'first';
            update($("span:first"),$("span:last"),bottonName);
        });
    
        //通过自定义事件调用,更新次数
        $("button:last").click(function() {
            $("button:first").trigger('click','last');
        });
    
        function update(first,last,bottonName) {
            first.text(bottonName);
            var n = parseInt(last.text(), 10);
            last.text(n + 1);
        }

    看课程评论里的这段解释:重点在 $("button:first").trigger('click','last');直接引用了第一个按钮的事件,'last'传给 bottonName做参数,所以点击第二个按钮,bottonName =“last”,接下来就是update()函数了,update(firstq,lastq,bottonName)   在第一个按钮点击事件时first,last,已经传入参数$("span:first"),$("span:last"),也就是显示内容的首位名称和 第二位数字,接下来update()函数里面把first.text()根据点击改括号里面内容,last或first数字同理。


    bottonName是下面定义的update函数的参数名