jQuery函数在点击之前启动,为什么?

cur*_*cat 0 javascript jquery transition click

所以我使用jquery和jquery.transit制作一个简单的框旋转.

我正在使用一个.click调用另一个命名函数的基本函数.但是,在我单击按钮之前执行命名函数(当页面加载时立即执行),我想知道为什么会发生这种情况,我该如何解决这个问题?

这是一个jsfiddle:http://jsfiddle.net/kdLSS/1/

我的代码:

<!DOCTYPE html>
<html>
<head>
  <style>
    div {
      background-color:yellow;
      width:100px;
      border:1px solid blue;
      position:absolute;
      left:50px;
    }
  </style>
  <script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js'></script>
  <script src='jquerytransit.js'></script> 
  <title>test</title>
</head>
<body>
  <script>
    $(function() {
      function hello() {
        $("#block").transition({
          perspective: '0px',
          rotateY: '180deg'
        }, 100 );
      }

      $("#go").click(hello())
    });
  </script>
  <button id="go"> Run</button>
  <div id="block">Hello!</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

非常感谢,感谢各州的人们!

sle*_*man 5

修复事件处理程序分配.它应该是:

$("#go").click(hello);

// not $("#go").click(hello());
Run Code Online (Sandbox Code Playgroud)

您想传递对该hello函数的引用.您不希望将该hello函数的结果传递给它.