Altering the journey – the event object
We have already seen one situation in which event bubbling can cause problems. To show a case in which .hover()
does not help our cause, we'll alter the collapsing behavior that we implemented earlier.
Suppose we wish to expand the clickable area that triggers the collapsing or expanding of the style switcher. One way to do this is to move the event handler from the label, <h3>
, to its containing <div>
element. In Listing 3.9, we added a click
handler to #switcher h3
; we will attempt this change by attaching the handler to #switcher
instead:
// Unfinished code
$(document).ready(function() {
$('#switcher').click(function() {
$('#switcher button').toggleClass('hidden');
});
});
Listing 3.11
This alteration makes the entire area of the style switcher clickable to toggle its visibility. The downside is that clicking on a button also collapses the style switcher after the style on the content has been altered. This is due to event bubbling...