2009-01-15 38 views
45

在下面的代码中,为什么打开函数可以工作,但是关闭函数没有?在jQuery中调用函数click()

$("#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> 

回答

115
$("#closeLink").click(closeIt); 

比方说,你想打电话给你的函数传递一些参数传递给它即closeIt(1, false)。然后,你应该建立一个匿名函数并从中调用closeIt

$("#closeLink").click(function() { 
    closeIt(1, false); 
}); 
+9

引用从closeIt函数中删除(我花了太多时间来讨论它,因此添加了一条评论以帮助其他人)。 – NatGordon 2011-01-22 18:47:12