web-dev-qa-db-fra.com

Как да пропуснете елемента на формуляра de TAB навигацията?

Ако използвамTABTous les avis sur les noms et prénoms du 1 au 4 (1 → 2 → 3 → 4)

Как мога да пропусна номер 3? Их искал да отида 1 → 2 → 4.

<table>
    <tr><td> <input type="text" value="1"></td><td><input type="text" value="2"></td></tr>
    <tr><td> <input type="text" value="3"></td><td><input type="text" value="4"></td></tr>
</table>

LIVE: http://jsfiddle.net/49Vca/

31
Marques Milpi

Si vous définissez tabindex = "-1" sur l'entrée même de # 3, vous ne pourrez pas passer à # 3

59
Justin

Regardez tabIndex property

4
wong2

Indiquez l'ID des éléments et écrivez un script sur ces lignes ...

function changeTabIndex()
  {
  document.getElementById('1').tabIndex="1"
  document.getElementById('2').tabIndex="2"
  document.getElementById('3').tabIndex="-1"
  document.getElementById('4').tabIndex="3"
  }
</script>
1
Jay

Ако използвате jquery е добре, можете да опитате SkipOnTab .

SkipOnTab : JQuery affiche des informations détaillées sur les performances, des performances et des performances optimales.

Просто добавете data-skip-on-tab="true" към елементите (или контейнерите), които искате да пропуснете. À propos de moi, je t'aime, je t'aime, je t'aime, je t'aimeshift-tab,.

В твоя случай:

<table>
    <tr><td> <input type="text" value="1"></td><td><input type="text" value="2"></td></tr>
    <tr><td> <input type="text" value="3" data-skip-on-tab="true"></td><td><input type="text" value="4"></td></tr>
</table>

Вижте простата демонстрация и демонстрацията на бизнес казуса . Можете също така опитайте разклонения jsfiddle de SkipOnTab .

1
Joel Purra

En supposant qu'il y ait une raison 3 de rester tabulable (telle qu'une vue MVC où l'élément est un contrôle d'entrée et doit rester partie de l'ordre de tabulation, sinon il ne renverra pas de données au contrôleur), vous avez probablement gagné ne pouvez pas le sauter dans les deux sens, et si vous trouvez une solution, cela dépendra d'un bogue corrigé sans avertissement pour que le navigateur se conforme aux spécifications W3 en ce qui concerne l'ordre des onglets.

Pour sauter en avant ou en arrière (mais pas les deux!), Ajoutez un gestionnaire d'événement onfocusin () à l'élément 3, qui appelle focus () sur l'élément qui le suit ou le précède immédiatement. Si les événements onfocus étaient toujours autorisés à transmettre le contrôle précédemment focalisé dans le paramètre event (comme event.relatedTarget), vous pourriez indiquer quel était l'élément précédemment ciblé et transférer le contrôle sur l'élément précédent si le focus venait de l'élément suivant. Cependant, la spécification W3 indique clairement que ce comportement n’est pas conforme et que les navigateurs compatibles HTML5 sont tenus de transmettre null pour event.relatedTarget, et de faire tout ce qui est en leur pouvoir pour empêcher tout gestionnaire d’événements focus () d’avoir accès au. identité du contrôle précédemment ciblé, annulant en particulier l'un de ces champs avant qu'un gestionnaire d'événements focus () ou blur () soit appelé dans le code côté client.

0
tatterdemalian