Skip to content

Commit f5931a0

Browse files
authored
feat(checkbox): use left/right to switch off/on toggle+slider variant
This PR adds support to use the left/right keys on a slider checkbox or toggle checkbox once focussed and initialted via JS.
1 parent d11687d commit f5931a0

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

src/definitions/modules/checkbox.js

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -239,18 +239,26 @@ $.fn.checkbox = function(parameters) {
239239
}
240240
}
241241

242+
shortcutPressed = false;
242243
if(key == keyCode.escape) {
243244
module.verbose('Escape key pressed blurring field');
244245
$input.blur();
245246
shortcutPressed = true;
246247
}
247-
else if(!event.ctrlKey && ( key == keyCode.space || (key == keyCode.enter && settings.enableEnterKey)) ) {
248-
module.verbose('Enter/space key pressed, toggling checkbox');
249-
module.toggle();
250-
shortcutPressed = true;
251-
}
252-
else {
253-
shortcutPressed = false;
248+
else if(!event.ctrlKey && module.can.change()) {
249+
if( key == keyCode.space || (key == keyCode.enter && settings.enableEnterKey) ) {
250+
module.verbose('Enter/space key pressed, toggling checkbox');
251+
module.toggle();
252+
shortcutPressed = true;
253+
} else if($module.is('.toggle, .slider') && !module.is.radio()) {
254+
if(key == keyCode.left && module.is.checked()) {
255+
module.uncheck();
256+
shortcutPressed = true;
257+
} else if(key == keyCode.right && module.is.unchecked()) {
258+
module.check();
259+
shortcutPressed = true;
260+
}
261+
}
254262
}
255263
},
256264
keyup: function(event) {

0 commit comments

Comments
 (0)