+ -
当前位置:首页 → 问答吧 → 为什么点击事件在加载时就执行了?

为什么点击事件在加载时就执行了?

时间:2009-11-16

来源:互联网

复制代码
  1. $('#step_1_next').click(xx());
页面加载时xx方法就执行了~为什么?谢谢

作者: 小谷妹妹   发布时间: 2009-11-16

$('#step_1_next').click(xx);
这表示把xx函数绑定到click事件上

xx0
表示执行了这个函数

$('#step_1_next').click(xx());
表示把xx()的返回值绑定到这个click事件上,所以会先执行一次的。

作者: shawphy   发布时间: 2009-11-16

楼上正解,也可以这么写$('#step_1_next').click(function(){xx()});

作者: 明天很危险   发布时间: 2009-11-17

谢谢楼上两位。。绑定的时候要先执行一次。。
但为什么$('#step_1_next').click(function(){xx()});绑定的时候执行的是function(){xx()};为什么xx就不执行了呢?

作者: 小谷妹妹   发布时间: 2009-11-17

$('#step_1_next').click(function(){xx()});的意思是传递给click方法一个参数,这个参数是function(){xx()},传递了一个方法,所以不执行
$('#step_1_next').click(xx());可以理解为click方法传递一个参数,这个参数为xx()的返回值,如果想传递xx方法作为参数的话只要去掉()就可以了,可以理解么?

作者: 明天很危险   发布时间: 2009-11-17

明白了~谢谢  

作者: 小谷妹妹   发布时间: 2009-11-17

相关阅读 更多