使用 click() 在 jQuery 中调用函数
Posted
技术标签:
【中文标题】使用 click() 在 jQuery 中调用函数【英文标题】:Calling a function in jQuery with click() 【发布时间】:2010-10-01 15:16:59 【问题描述】:在下面的代码中,为什么 open 函数有效,而 close 函数无效?
$("#closeLink").click("closeIt");
您如何在click()
中调用一个函数,而不是在click()
方法中定义它?
<script type="text/javascript">
$(document).ready(function()
$("#openLink").click(function()
$("#message").slideDown("fast");
);
$("#closeLink").click("closeIt");
);
function closeIt()
$("#message").slideUp("slow");
</script>
我的 html:
Click these links to <span id="openLink">open</span>
and <span id="closeLink">close</span> this message.</div>
<div id="message" style="display: none">This is a test message.</div>
【问题讨论】:
【参考方案1】:$("#closeLink").click(closeIt);
假设你想调用你的函数并传递一些参数给它,即closeIt(1, false)
。然后,您应该构建一个匿名函数并从中调用closeIt
。
$("#closeLink").click(function()
closeIt(1, false);
);
【讨论】:
引号已从 closeIt 函数中删除(我花了很长时间才明白这一点,所以添加评论以帮助其他人)。 @Tiago 为什么没有 ()?如果你想传递参数怎么办? @Damon:因为这样会调用函数并将其返回值传递给 click 函数。如果你想传递 args,你必须这样做: $("#closeLink").click(function()closeIt(some, args, you, 'want');); 为什么不写一个更详细的答案?您的最后一条评论应该在答案本身内;) @Dusty:它不会按预期工作。您的代码将立即以1
和false
作为参数执行函数closeit
,然后该调用的结果将作为参数传递给click
。仅当用户单击该事物时,您希望它调用函数closeit
。以上是关于使用 click() 在 jQuery 中调用函数的主要内容,如果未能解决你的问题,请参考以下文章
在 jquery click() 之后调用定义的函数不起作用
jquery中$("#btn")click(function()...);中function的写法
jquery如何click事件时候 ,让某个函数暂停或终止?