关于JS中定义的函数自动执行

new_bug1234 2019-09-18 06:43:12
<jsp>//在此处有一个JSP


他的js文件大概像这样:
$(function(){

function a(a, b){ alert("111"); }//定义了一个函数

$("#a").click( a(a,b) );//定义ID为a的标签的click事件,传值


})
问题在于加载JSP文件时(没有点击标签),直接弹出“111”,那么是他执行了click事件吗,该怎么破??
...全文
266 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
瘦死的黑骆驼 2019-09-18
  • 打赏
  • 举报
回复
你这样写是不对的,问题出在$("#a").click(a(a,b))click函数里传递的是一个函数对象,只传a就行了,你这样操作相当于执行a(a,b) 要么你就不要单独定义一个函数了直接写$("#a").click(function(event){}) 如果非要单独定义函数就要这么改 $(function(){ function a(event){//传递的参数都在event.data里面,比如下面的data参数传递的是{"name":"123"},这里event.data.name就是123} $("#a").click(data,a); })
new_bug1234 2019-09-18
  • 打赏
  • 举报
回复
没有别处执行啊,还有就是我定义了一个a标签,设置点击事件会触发ajax向一个servlet发送请求,结果我打印输出时发现有好几次,也就是受这个请求发送了好几次???
NANU-NANA 2019-09-18
  • 打赏
  • 举报
回复
不排除在别处执行该函数的可能。


请及时结帖。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧