Focus and blur styling (via JS) for the install screen language selector. Props jorbin. See #28577
Built from https://develop.svn.wordpress.org/trunk@29020 git-svn-id: http://core.svn.wordpress.org/trunk@28808 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
39
wp-admin/js/language-chooser.js
Normal file
39
wp-admin/js/language-chooser.js
Normal file
@@ -0,0 +1,39 @@
|
||||
(function($){
|
||||
if ( $('body').hasClass('language-chooser') === false ) {
|
||||
return;
|
||||
}
|
||||
|
||||
var mouseDown = 0,
|
||||
$fieldset = $('fieldset');
|
||||
|
||||
// simple way to check if mousebutton is depressed while accounting for multiple mouse buttons being used independently
|
||||
document.body.onmousedown = function() {
|
||||
++mouseDown;
|
||||
};
|
||||
document.body.onmouseup = function() {
|
||||
--mouseDown;
|
||||
};
|
||||
|
||||
/*
|
||||
we can't rely upon the focusout event
|
||||
since clicking on a label triggers it
|
||||
*/
|
||||
function maybeRemoveFieldsetFocus(){
|
||||
if (mouseDown) {
|
||||
setTimeout( maybeRemoveFieldsetFocus, 50);
|
||||
return;
|
||||
}
|
||||
if ( $(':focus').hasClass('language-chooser-input') !== true ) {
|
||||
$fieldset.removeClass('focus');
|
||||
}
|
||||
}
|
||||
|
||||
$fieldset.focusin( function() {
|
||||
$(this).addClass('focus');
|
||||
});
|
||||
|
||||
$fieldset.focusout( function() {
|
||||
setTimeout( maybeRemoveFieldsetFocus, 50);
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
1
wp-admin/js/language-chooser.min.js
vendored
Normal file
1
wp-admin/js/language-chooser.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
!function(a){function b(){return c?void setTimeout(b,50):void(a(":focus").hasClass("language-chooser-input")!==!0&&d.removeClass("focus"))}if(a("body").hasClass("language-chooser")!==!1){var c=0,d=a("fieldset");document.body.onmousedown=function(){++c},document.body.onmouseup=function(){--c},d.focusin(function(){a(this).addClass("focus")}),d.focusout(function(){setTimeout(b,50)})}}(jQuery);
|
||||
Reference in New Issue
Block a user