diff --git a/packages/material-ui/src/Select/Select.test.js b/packages/material-ui/src/Select/Select.test.js index 96ab71eb3562f3..e9abdf7930e9dc 100644 --- a/packages/material-ui/src/Select/Select.test.js +++ b/packages/material-ui/src/Select/Select.test.js @@ -671,6 +671,30 @@ describe(' + + None + + Ten + Twenty + Thirty + , + ); + + const trigger = getByRole('button'); + + // If clicked by the right/middle mouse button, no options list should be opened + fireEvent.mouseDown(trigger, { button: 1 }); + expect(queryByRole('listbox')).to.not.exist; + + fireEvent.mouseDown(trigger, { button: 2 }); + expect(queryByRole('listbox')).to.not.exist; + }); }); describe('prop: autoWidth', () => { diff --git a/packages/material-ui/src/Select/SelectInput.js b/packages/material-ui/src/Select/SelectInput.js index b809d3cbdc6c88..c4c230aa393e81 100644 --- a/packages/material-ui/src/Select/SelectInput.js +++ b/packages/material-ui/src/Select/SelectInput.js @@ -105,6 +105,9 @@ const SelectInput = React.forwardRef(function SelectInput(props, ref) { }; const handleMouseDown = event => { + if (event.button !== 0) + // ignore everything but left-click + return; // Hijack the default focus behavior. event.preventDefault(); displayNode.focus();