这段代码什么意思
$("button:last").click(function() {
$("button:first").trigger('click','last');
});
这里面的last是什么?参数?怎么传递啊?还有下面那个bottonname是啥?
$("button:last").click(function() {
$("button:first").trigger('click','last');
});
这里面的last是什么?参数?怎么传递啊?还有下面那个bottonname是啥?
2016-08-05
//点击更新次数
$("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都改成别的名字再试试就懂了。一直觉得教程不该用这种“疑似原生函数名”,容易混淆,我们萌新经常栽在这里。
$("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函数的参数名
举报