我无法使用 jQuery 触发对 body 标签的点击:
$('body').click();
即使这失败了:
$('body').trigger('click');
你应该有这样的东西:
$('body').click(function() {
// do something here
});
当用户单击网页上的某个位置时,将调用回调函数。您可以通过以下方式以编程方式触发回调:
$('body').trigger('click');
有趣的是,当我替换这个时:
$("body").trigger("click")
有了这个:
jQuery("body").trigger("click")
有用!
我已经使用了以下代码几次,效果很好:
$("body").click(function(e){
// Check what has been clicked:
var target = $(e.target);
if(target.is("#target")){
// The target was clicked
// Do something...
}
});
如果说所有事情都不起作用,请回到基础并测试这是否有效:
<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>
然后告诉我它是否工作。
正如 Seeker 所提到的,问题可能是您click()
过早地设置了该功能。从您的代码片段中,我们无法知道您将脚本放置在哪里以及它是否在正确的时间运行。
重要的一点是在文档准备好后运行此类脚本。这是通过将click()
初始化放在其他函数中来完成的,如下所示:
jQuery(document).ready(function()
{
jQuery("body").click(function()
{
// ... your click code here ...
});
});
这通常是最好的方法,尤其是当您在代码中包含 JavaScript 代码时<head>
。如果您将它包含在页面的最底部,那么该ready()
功能就不那么重要了,但它可能仍然有用。