求助:事件处理bind()中函数在bind时就被调用?
时间:2009-04-14
来源:互联网
我用jquery做个小插件,用bind来绑定时间处理函数, 基础代码如下:
第一步:
function bindEvent() {
$("#selectInit")
.bind("click", mySelect(0));
$("#selectPrev")
.bind("click", mySelect(current - 1));
…………
}
第二步:
/* 后台调用一次让bind的处理函数(mySelect())生效 */
bindEnent();
第三歩:
/* 前台在各id上触发click事件,执行 mySelect() 处理函数 */
第四步:
mySelect() 函数执行;
在mySelect()函数执行时,会调用bindEvent()函数,对各id进行事件再bind(因为此时参数有变化);
问题出现了:
不管第一次,还是第N此调用 bindEvent()函数, 各$("id").bind("click", mySelect())时为什么总会执行一次 mySelect()函数?
第一步:
function bindEvent() {
$("#selectInit")
.bind("click", mySelect(0));
$("#selectPrev")
.bind("click", mySelect(current - 1));
…………
}
第二步:
/* 后台调用一次让bind的处理函数(mySelect())生效 */
bindEnent();
第三歩:
/* 前台在各id上触发click事件,执行 mySelect() 处理函数 */
第四步:
mySelect() 函数执行;
在mySelect()函数执行时,会调用bindEvent()函数,对各id进行事件再bind(因为此时参数有变化);
问题出现了:
不管第一次,还是第N此调用 bindEvent()函数, 各$("id").bind("click", mySelect())时为什么总会执行一次 mySelect()函数?
作者: 一路再走 发布时间: 2009-04-14
函数加()就代表执行该函数
作者: gordianyuan 发布时间: 2009-04-15
谢谢了, 凌晨还在热心帮忙, 太辛苦了
作者: 一路再走 发布时间: 2009-04-15
实际上你这样不是把这个函数绑定了,而是把函数的返回值给绑定了
就好比
alert(mySelect())一个意思
就好比
alert(mySelect())一个意思
作者: shawphy 发布时间: 2009-04-15
高手啊,谢谢点拨, 茅塞顿开了。
作者: 一路再走 发布时间: 2009-04-16
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28