$('body')。on('click')不起作用

时间:2016-01-17 13:45:28

标签: javascript jquery html css

所以我想在点击身体的任何地方后触发一个动作,代码是:

HTML:

<body>
   <div class="paper"></div> 
</body>

CSS:

body{
    background-color: #F5F5F5;
    margin:0px;
    padding:0px;}
.paper{
    width: 500px;
    height: 200px;
    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
    background-color: white;}

和js:

window.onload = function(){
           $('body').on('click',function(){
               console.log("click");
           })
       }

我的问题是点击仅在我点击div旁边时才会注册;如果我点击下面没有任何反应。

我对此有点困惑,是不是整个页面的身体?如果我改变了身体的背景颜色,浏览器中的整个背景都会获得那种颜色,但是与jQuery一起使用它会有所不同吗?

(jQuery已正确加载且没有错误日志)

5 个答案:

答案 0 :(得分:1)

试试这个:

$('html').on('click', function(){
   console.log('click');
})

答案 1 :(得分:0)

'body'上选择可能不是您所期望的(您可能需要文档),但这是正确的语法:

$('body').on('click', 'selector', function(){
    /* do something here */
})

答案 2 :(得分:0)

目标文件

$(window).load(function() {
$(document).on('click',function(){
           console.log("click");
alert("clicked");
       });
});

您必须拥有on load wrapper,否则您将获得$的初始未定义。显然可以准备好doc,但你已经加载了原帖。

答案 3 :(得分:0)

试试这个。这对你有帮助

<html>
<head>
<title></title>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>

</head>
<body>

<!-- js--> 
<script type="text/javascript">
 $(document).ready(function(){
    $('body').click(function(){
        alert(" ");
    });

 });
</script>

</body>
</html>

*我建议你检查一下你的jquery是否正常工作。只需放一个alert(" ")并在你去寻找一个巨大的一个之前检查一下。这对你有帮助。主持人!!!

答案 4 :(得分:0)

实现所需效果的正确方法是将单击处理程序放在文档上,如下所示:

$(document).on('click',function(){
    console.log("click");
});

现在,还要确保您的JavaScript代码位于HTML文件的最底层,如下所示:

<html>
    <head>
      // header content goes here
    </head>
    <body>
      // body content goes here
        <script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
        <script>
            $(document).on('click',function(){
                console.log("click");
            });
        </script>
    </body>
</html>

如果你不能或不想将你的JS代码放在HTML的最底层,你也可以用$(document).ready()包裹你的点击句柄,如下所示:

$(document).ready(function(){
    $(document).on('click',function(){
        console.log("click");
    });
});

请参阅this Fiddle了解演示。