9 votes

Comment empêcher la fenêtre du navigateur de se déplacer vers le haut de la page lorsque l'utilisateur clique sur un bouton radio jQueryUI ?

J'ai des boutons radio configurés comme ceci :

<div id="typeRadios">
    <input id="note_notetype_note1" name="note[notetype]" type="radio" value="note1" /><label for="note_notetype_note1">note1</label>
    <input id="note_notetype_note2" name="note[notetype]" type="radio" value="note2" /><label for="note_notetype_note2">note2</label>
</div>

que je transforme en boutons jQueryUI comme ceci :

$("#typeRadios").buttonset();

Voici le HTML qui en résulte :

<input type="radio" value="note1" name="note[notetype]" id="note_notetype_note1" class="ui-helper-hidden-accessible">
<label for="note_notetype_note1" aria-pressed="false" class="ui-button ui-widget ui-state-default ui-button-text-only ui-corner-left" role="button" aria-disabled="false"><span class="ui-button-text">note1</span></label>
<input type="radio" value="note2" name="note[notetype]" id="note_notetype_note2" class="ui-helper-hidden-accessible">
<label for="note_notetype_note2" aria-pressed="false" class="ui-button ui-widget ui-state-default ui-button-text-only ui-corner-left" role="button" aria-disabled="false"><span class="ui-button-text">note2</span></label>

Les boutons fonctionnent, mais chaque fois que je clique sur l'un d'entre eux, la fenêtre d'affichage du navigateur est ramenée en haut de la page, de la même manière que lorsque vous cliquez sur un bouton de la barre d'outils. <a href="#">link</a> lien.

J'utilise jQuery 1.4.2 et jQueryUI 1.8.7. Comment puis-je éviter ce comportement ? Merci de votre lecture.

EDIT : Le <a href="#">link</a> Il manquait une partie.

0voto

Yann Points 69

La solution pour moi a été de définir "position: relative" sur

input[type='radio'].ui-helper-hidden-accessible

Edit : Ne fonctionne pas sur Firefox... les boutons radio deviennent visibles

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X