Opened 4 years ago

Closed 2 years ago

Last modified 17 months ago

#9990 closed bug (fixed)

Button: Minor mouse movements cause state inconsistencies in Firefox

Reported by: HikingMike Owned by: HikingMike
Priority: minor Milestone: 1.12.0
Component: ui.button Version: 1.10.4
Keywords: Cc:
Blocked by: Blocking:

Description

This is related to #7665. In that bug, the radio buttons were ignoring mouseclicks if the mouse moved slightly during the click. That's fixed now and the button selects, but the click function does not fire under the same circumstances and it should fire for the same reasons.

I'm personally using several radio button sets in a dialog, and a click to a radio in the final set leads to a save and close of the dialog. This issue makes it more difficult to save/close and also leads to oddly having the clicked radio selected, but not saving/closing.

JSFiddle- http://jsfiddle.net/tLK4K/

Change History (11)

comment:1 Changed 4 years ago by HikingMike

Shoot, JSFiddle link should be http://jsfiddle.net/tLK4K/1/

comment:2 Changed 4 years ago by tj.vantoll

Owner: set to HikingMike
Status: newpending

Thanks for creating this, but I'm actually having trouble recreating it. What browser and OS are you using?

comment:3 Changed 4 years ago by HikingMike

Status: pendingnew

Windows 7 x64 and Firefox something relatively new. I'll test other browsers soon.

comment:4 Changed 4 years ago by HikingMike

I tested in Firefox v28 (and Win7 x64) and this exhibits the bad behavior I described in the bug.

I tested in Chrome v34 (and Win7 x64) and it does not do the bad behavior! The click event fires the same as the button being selected even when dragging a little.

I tested in IE v11 (and Win7 x64) and the radio buttons just show as regular radio buttons in my JSFiddle demo...not sure what's going on there. Oh, if I change jQuery in the JSFiddle to 1.x (edge) like you had then the buttons show up fine. With the radio buttons showing correctly, it also doesn't do the bad behavior.

Soooo, it's just Firefox for me. Interesting.

comment:5 Changed 4 years ago by tj.vantoll

Status: newopen
Summary: Button: Radio button & checkboxes do not fire click function if have minor mouse movementsButton: Minor mouse movements cause state inconsistencies in Firefox

Thanks. Here's the same example without the button widget: http://jsfiddle.net/ytUsj/. If you move your mouse when clicking a label, most browsers still "click" the label's radio button, but Firefox does not.

The bigger problem is that not only are events not fired, the state of the underlying controls is off. The fix for #7665 caused a #6970 to regress. We should probably revert https://github.com/jquery/jquery-ui/commit/52e0f768f528e5265b6d7b4afae036b1ff248956, but I'm also curious how the button widget rewrite handles this.

comment:6 Changed 4 years ago by HikingMike

Hey good to hear you discovered more about it. Thanks and good luck to the devs. I'd definitely love to have the buttons working visually and for events with the small mouse movements tolerated as usual.

comment:7 Changed 3 years ago by apeterson

I've got this happening as well - Chrome, IE, Safari, Opera all register radio button clicks, but Firefox misses them sometimes.

This is especially problematic, because to the user, it appears that the button was selected (it displays as selected), and so it is difficult for them to know where the problem is.

As a fallback, it'd be really nice if the button doesn't appear to be selected if it is not.

comment:8 Changed 3 years ago by Alexander Schmitz

This is fixed in the button re-write in the re-write I don't handle the click event but rather the change event.

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

#12554 is a duplicate of this ticket.

comment:10 Changed 2 years ago by Scott González

Milestone: none1.12.0
Resolution: fixed
Status: openclosed

Confirmed fixed in master.

comment:11 Changed 17 months ago by Scott González

#14996 is a duplicate of this ticket.

Note: See TracTickets for help on using tickets.