I'm looking for a way to automatically "click" an item when the page loads.
I've tried using
$("document").ready(function() { $("ul.galleria li:first-child img").trigger('click'); });
but it doesn't seem to work? However, when I enter $("ul.galleria li:first-child img").trigger('click');
into Firebug's console and run the script, it works.
Can the trigger event be used on load?
Yeah, you can use a click event called onLoad() . Just use the setTimeout() method in jquery. It will call a click function without clicking it.
The HTMLElement. click() method simulates a mouse click on an element. When click() is used with supported elements (such as an <input> ), it fires the element's click event. This event then bubbles up to elements higher in the document tree (or event chain) and fires their click events.
$("document"). ready(function() { $("ul. galleria li:first-child img"). trigger('click'); });
The onload event occurs when an object has been loaded. onload is most often used within the <body> element to execute a script once a web page has completely loaded all content (including images, script files, CSS files, etc.).
The click handler that you are trying to trigger is most likely also attached via $(document).ready()
. What is probably happening is that you are triggering the event before the handler is attached. The solution is to use setTimeout
:
$("document").ready(function() { setTimeout(function() { $("ul.galleria li:first-child img").trigger('click'); },10); });
A delay of 10ms will cause the function to run immediately after all the $(document).ready()
handlers have been called.
OR you check if the element is ready:
$("document").ready(function() { $("ul.galleria li:first-child img").ready(function() { $(this).click(); }); });
$(function(){ $(selector).click(); });
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With