Small tweaks to focus
This commit is contained in:
@ -3969,18 +3969,11 @@
|
||||
var play = player.togglePlay();
|
||||
|
||||
// Determine which buttons
|
||||
var trigger = player.elements.buttons[play ? 'play' : 'pause'];
|
||||
var target = player.elements.buttons[play ? 'pause' : 'play'];
|
||||
|
||||
// Transfer focus
|
||||
if (target && trigger) {
|
||||
if (utils.hasClass(trigger, player.config.classNames.tabFocus)) {
|
||||
setTimeout(function() {
|
||||
target.focus();
|
||||
utils.toggleClass(trigger, player.config.classNames.tabFocus, false);
|
||||
utils.toggleClass(target, player.config.classNames.tabFocus, true);
|
||||
}, 0);
|
||||
}
|
||||
if (target) {
|
||||
target.focus();
|
||||
}
|
||||
}
|
||||
|
||||
@ -3989,19 +3982,6 @@
|
||||
return event.keyCode ? event.keyCode : event.which;
|
||||
}
|
||||
|
||||
// Detect tab focus
|
||||
function checkTabFocus(focused) {
|
||||
utils.toggleClass(
|
||||
getElements('.' + player.config.classNames.tabFocus),
|
||||
player.config.classNames.tabFocus,
|
||||
false
|
||||
);
|
||||
|
||||
if (player.elements.container.contains(focused)) {
|
||||
utils.toggleClass(focused, player.config.classNames.tabFocus, true);
|
||||
}
|
||||
}
|
||||
|
||||
// Keyboard shortcuts
|
||||
if (player.config.keyboard.focused) {
|
||||
var last = null;
|
||||
@ -4193,31 +4173,24 @@
|
||||
}
|
||||
}
|
||||
|
||||
// Focus/tab management
|
||||
utils.on(window, 'keyup', function(event) {
|
||||
var code = getKeyCode(event);
|
||||
var focused = utils.getFocusElement();
|
||||
|
||||
if (code === 9) {
|
||||
checkTabFocus(focused);
|
||||
}
|
||||
});
|
||||
|
||||
utils.on(document.body, 'click', function() {
|
||||
utils.toggleClass(
|
||||
getElement('.' + player.config.classNames.tabFocus),
|
||||
player.config.classNames.tabFocus,
|
||||
false
|
||||
);
|
||||
});
|
||||
|
||||
for (var button in player.elements.buttons) {
|
||||
utils.on(player.elements.buttons[button], 'blur', onBlur);
|
||||
}
|
||||
|
||||
function onBlur(event) {
|
||||
// Detect tab focus
|
||||
// Remove class on blur/focusout
|
||||
utils.on(player.elements.container, 'focusout', function(event) {
|
||||
utils.toggleClass(event.target, player.config.classNames.tabFocus, false);
|
||||
}
|
||||
});
|
||||
|
||||
// Add classname to tabbed elements
|
||||
utils.on(player.elements.container, 'keydown', function(event) {
|
||||
if (event.keyCode !== 9) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Delay the adding of classname until the focus has changed
|
||||
// This event fires before the focusin event
|
||||
window.setTimeout(function () {
|
||||
utils.toggleClass(utils.getFocusElement(), player.config.classNames.tabFocus, true);
|
||||
}, 0);
|
||||
});
|
||||
|
||||
// Trigger custom and default handlers
|
||||
var handlerProxy = function(event, customHandler, defaultHandler) {
|
||||
@ -4367,7 +4340,6 @@
|
||||
function(event) {
|
||||
player.toggleControls(event);
|
||||
},
|
||||
true,
|
||||
true
|
||||
);
|
||||
}
|
||||
|
Reference in New Issue
Block a user