Reputation: 3453
I'm unable to trigger a click on the body tag using jQuery using this:
$('body').click();
Even this fails:
$('body').trigger('click');
Upvotes: 11
Views: 130908
Reputation: 3453
Interestingly, when I replaced this:
$("body").trigger("click")
With this:
jQuery("body").trigger("click")
It works!
Upvotes: 10
Reputation: 36081
I've used the following code a few times and it works sweet:
$("body").click(function(e){
// Check what has been clicked:
var target = $(e.target);
if(target.is("#target")){
// The target was clicked
// Do something...
}
});
Upvotes: 7
Reputation: 20720
As mentioned by Seeker, the problem could have been that you setup the click()
function too soon. From your code snippet, we cannot know where you placed the script and whether it gets run at the right time.
An important point is to run such scripts after the document is ready. This is done by placing the click()
initialization within that other function as in:
jQuery(document).ready(function()
{
jQuery("body").click(function()
{
// ... your click code here ...
});
});
This is usually the best method, especially if you include your JavaScript code in your <head>
tag. If you include it at the very bottom of the page, then the ready()
function is less important, but it may still be useful.
Upvotes: 0
Reputation: 365
if all things were said didn't work, go back to basics and test if this is working:
<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>
then tell me if its working or not.
Upvotes: 2
Reputation: 104178
You should have something like this:
$('body').click(function() {
// do something here
});
The callback function will be called when the user clicks somewhere on the web page. You can trigger the callback programmatically with:
$('body').trigger('click');
Upvotes: 11