Opened 13 years ago

Closed 13 years ago

#5195 closed bug (fixed)

.buttonset() prevents change event from being catchable.

Reported by: ajpiano Owned by:
Priority: blocker Milestone: 1.8
Component: ui.button Version: 1.8rc2
Keywords: Cc:
Blocked by: Blocking:


As originally discovered at, the buttonset is preventing the change event from being caught on radio buttons within the buttonset, on the buttonset element itself, or on any other element in the DOM (via .live() or change bubbling).

To see this bug in action, please see

Change History (3)

comment:1 Changed 13 years ago by Rwhitbeck

Closed 5193 as dup of this ticket and bringing description over to consolidate:

  • The change event of checkboxes setup with button() is always triggered twice: once with the old state, and once with the new one.
  • The change event for radiobuttons that are setup with buttonset() is never triggered.


Test case:

comment:2 Changed 13 years ago by rdworth

Priority: criticalblocker

comment:3 Changed 13 years ago by Scott González

Resolution: fixed
Status: newclosed

Fixed in r3826.

We were triggering a click event on checkboxes and radio buttons when clicking on the button. This resulted in the following actions when clicking on the button:

  • user clicks button (label)
  • native click event is fired on label
  • click event handler is executed

-- checked attribute on radio button is updated (does not fire a change event)
-- click event is triggered on radio button

  • default action for clicking on the label occurs, which fires a native click event on the radio button
  • default action for click event occurs, which checks if the checked state has changed

-- the checked state has not changed because we had already checked the radio (does not fire a change event)

Note: See TracTickets for help on using tickets.