开发者社区> 问答> 正文

jquery绑定事件调用函数的问题

写法一

$(".a").on("click",function(){
                   test();
                });

test()函数正常被调用。

写法二 $(".tl").on("click",test)

test()函数正常被调用。

错误写法$(".tl").on("click",test())

求问为什么第三种写法错误。不能再这个位置添加括号。

在附加一个问题,html中

<a onclick="test()"><a>
正常执行

<a onclick= test ><a>
不能执行,为什么?

展开
收起
小旋风柴进 2016-05-31 10:10:45 2299 0
1 条回答
写回答
取消 提交回答
  • test() 这种语法是调用函数,
    $(".tl").on("click",test()) 这个意思是吧test()函数返回的结果传给click事件的回调。

    第一种写法里,function(){} 是一种引用对象,传给了click事件的回调,那么在这是function(){...}里的任何可执行代码都会在$(".a")触发click事件时执行。

    第二种写法的意思是,test这个函数作为$(".tl")的click回调事件。

    2019-07-17 19:21:24
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关课程

更多

相关电子书

更多
Javascript中的函数 立即下载
JavaScript函数 立即下载
利用编译将 Vue 组件转成 React 组件 立即下载