JSFiddle - React, Tailwind, and code Playground

by Silvestrs Kante

JavaScript

var tabindexGroups = function () {
            function isNumber(n) {
                return !isNaN(parseFloat(n)) && isFinite(n);
            }
            var focusNext = function (tabgroup,tagroupname, curr, count) {
                if (count < tabgroup.length + 2) {
                    // Select next element
                    var nextElement = tabgroup[tabgroup.indexOf(curr) + 1];
                    var $nextElem;
                    var $nextIndex;
                    if (typeof (nextElement) === "undefined") {
                        $nextElem = $("[data-tabgroup='" + tagroupname + "'][data-tabgroupindex='" + tabgroup[0] + "']");
                        $nextIndex = 1;
                    } else {
                        $nextElem = $("[data-tabgroup='" + tagroupname + "'][data-tabgroupindex='" + nextElement + "']");
                        $nextIndex = nextElement;
                    }
                    if (typeof ($nextElem.attr("disabled")) === "undefined") {
                        $nextElem.focus();
                        console.log($(":focus"));
                    }
                    else
                        focusNext(tabgroup, tagroupname, $nextIndex, count + 1);
                }
            }
            var focusPrev = function (tabgroup, tagroupname, curr, count) {
                if (count < tabgroup.length + 2) {
                    // Select next element
                    var nextElement = tabgroup[tabgroup.indexOf(curr) - 1];
                    var $nextElem;
                    var $nextIndex;
                    if (typeof (nextElement) === "undefined") {
                        $nextElem = $("[data-tabgroup='" + tagroupname + "'][data-tabgroupindex='" + tabgroup[tabgroup.length - 1] + "']");
                        $nextIndex = tabgroup.length - 2;
                    } else {
                        $nextElem = $("[data-tabgroup='" + tagroupname + "'][data-tabgroupindex='" + nextElement + "']");
                       ...