使用jQuery触发body body

时间:2009-05-28 08:01:57

标签: jquery events click triggers

我无法使用jQuery触发body标签上的点击,我正在使用此...

$('body').click();

即便失败

$('body').trigger('click');

有什么想法吗?!

5 个答案:

答案 0 :(得分:11)

有趣的是......当我更换

$("body").trigger("click")

jQuery("body").trigger("click")

IT WORKED !!!

答案 1 :(得分:9)

你应该有这样的东西:

$('body').click(function() {
   // do something here
});

当用户点击网页上的某个位置时,将调用回调函数。您可以使用以下命令以编程方式触发回调:

$('body').trigger('click');

答案 2 :(得分:6)

我已经使用了以下代码几次,它很有用:

$("body").click(function(e){
  //you can then check what has been clicked
  var target = $(e.target);  
  if (target.is("#popup")) { }
}); // Added ); this for correct syntax

答案 3 :(得分:2)

如果所有内容都说不起作用,请回到基础并测试是否有效:

<html>
  <head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
  </head>
  <body>
    <script type="text/javascript">
      $('body').click(function() {
        // do something here like:
        alert('hey! The body click is working!!!')
      });
    </script>
  </body>
</html>

然后告诉我它是否正常工作。

答案 4 :(得分:0)

正如Seeker所提到的,问题可能是您过早设置click()功能。从您的代码段中,我们无法知道您放置脚本的位置以及它是否在合适的时间运行。

重要的一点是在文档准备好后运行这样的脚本。这是通过将click()初始化放在其他函数中来完成的,如下所示:

jQuery(document).ready(function()
  {
    jQuery("body").click(function()
      {
        // ... your click code here ...
      });
  });

这通常是最好的方法,特别是如果您将JavaScript代码包含在<head>标记中。如果您将其包含在页面的最底部,则ready()功能不太重要,但它可能仍然有用。