为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript 在传递参数时立即执行函数,这是不希望的

Javascript 在传递参数时立即执行函数,这是不希望的

繁星点点滴滴 2023-10-14 18:13:21
当我运行代码时: $(".pro-tip-1").mouseover(activateProTip(1));它立即调用函数 activateProTip。它不会等待鼠标悬停成为真实场景。现在,如果我取出传递的参数 (1),它就会按预期运行。它等待鼠标悬停为真,然后调用该函数。这就是我想要的,但我也想通过一个论点。 $(".pro-tip-1").mouseover(activateProTip);问题是我似乎无法传递一个参数并让它按预期运行,但我希望能够传递一个参数。我对 Javascript 完全陌生,如果这还不是很明显,所以请让您的响应代码保持简单易懂,提前致谢!
查看完整描述

2 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

这是预期的,所需的参数是一个函数。如果您传递一个语句,它将立即被解释(您可能调用了一个实际上返回您想要在鼠标悬停时调用的函数的函数!)。您可以编写一个函数,然后activateProTip使用参数进行调用。

$(".pro-tip-1").mouseover(() => activateProTip(1));


查看完整回答
反对 回复 2023-10-14
?
LEATH

TA贡献1936条经验 获得超6个赞

尝试这个解决方案,它会起作用

$(".pro-tip-1").mouseover(()=>activateProTip(1));

说明:您可以对点击事件使用always回调函数。

当你像这样调用(activateProTip(1))时,这不会绑定事件,这就是为什么它会立即调用


查看完整回答
反对 回复 2023-10-14
  • 2 回答
  • 0 关注
  • 68 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信