所以我想在点击身体的任何地方后触发一个动作,代码是:
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已正确加载且没有错误日志)
答案 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了解演示。