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 + "']");
...