10

我无法使用 jQuery 触发对 body 标签的点击:

$('body').click();

即使这失败了:

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

5 回答 5

11

你应该有这样的东西:

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

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

$('body').trigger('click');
于 2009-05-28T08:07:00.930 回答
10

有趣的是,当我替换这个时:

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

有了这个:

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

有用!

于 2009-05-28T10:56:09.370 回答
7

我已经使用了以下代码几次,效果很好:

$("body").click(function(e){ 
    // Check what has been clicked:
    var target = $(e.target); 
    if(target.is("#target")){
    // The target was clicked
    // Do something...
  }
});
于 2009-05-28T08:08:45.153 回答
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>

然后告诉我它是否工作。

于 2010-09-06T16:53:44.407 回答
0

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

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

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

这通常是最好的方法,尤其是当您在代码中包含 JavaScript 代码时<head>。如果您将它包含在页面的最底部,那么该ready()功能就不那么重要了,但它可能仍然有用。

于 2017-07-02T00:05:12.260 回答