Simulating user interaction
At times, it is convenient to execute code that we have bound to an event, even if the normal circumstances of the event are not occurring. For example, suppose we wanted our style switcher to begin in its collapsed state. We could accomplish this by hiding buttons from within the stylesheet, or by adding our hidden
class or calling the .hide()
method from a $(document).ready()
handler. Another way would be to simulate a click on the style switcher so that the toggling mechanism we've already established is triggered.
The .trigger()
method allows us to do just this:
$(document).ready(function() { $('#switcher').trigger('click'); });
Listing 3.23
Now when the page loads, the switcher is collapsed just as if it had been clicked, as shown in the following screenshot:
If we were hiding content that we wanted people without JavaScript enabled to see, this would be a reasonable way to implement graceful degradation.
The .trigger()
method provides the same set of shortcut...