If I understand correctly, to programmatically trigger a jQuery click event attached to an object with a css class of my-button
, you should be able to just do this:
$('.my-button').click();
For some reason, this code is failing to trigger the click event attached to the element. The $('.my-button')
part of the code is working and returning one element. We know the event handler is attached to that element because clicking on the element does trigger its event handler's code. The handler is attached with the following simple code:
$('<a class="my-button"/>')
.click(function() { /* code here */ })
.appendTo(parent);
Are there any conditions where event triggering does not work? The element being accessed is created through a jQuery widget, the widget code is retrieved through a cross-domain JSONP call and run through eval
(the factor I suspect).
You should use:
$('.my-button').trigger("click");
This turned out to be a case of two jQuery scripts being loaded. The script retrieved via JSONP included the loading of jQuery, and that jQuery object was used to attach the event handler. Meanwhile, in my co-worker's web page, he had loaded his own jQuery. Therefore, this second jQuery object, having no knowledge of the first's event handlers, was unable to programmatically invoke the handler.
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