3 votes

Boîte de saisie dans l'en-tête accordéon de jQuery UI

J'ai un accordéon jQuery UI avec une boîte de saisie dans l'en-tête :

<h3><input type="text" /></h3>

http://jsfiddle.net/7VN8h/

Comme prévu, l'Accordion capte toutes les pressions sur les touches d'espacement et de flèche, qui ont lieu dans l'en-tête - il n'est donc pas possible d'écrire correctement dans la zone de saisie. Existe-t-il un moyen de se débarrasser de ce comportement, et d'utiliser les espaces et les flèches, lorsque l'on tape dans cette zone ?

6voto

Arun P Johny Points 151748

Vous pouvez arrêter la propagation des événements de touche à partir du contrôle d'entrée

$(function () {
    $("#accordion").accordion();

    $("#accordion h3 input").on('keydown', function (e) {
        e.stopPropagation();
    })
});

Démonstration : Violon

3voto

j08691 Points 86464

Si vous souhaitez pouvoir saisir des données dans le champ de texte sans déclencher l'élément accordéon, ajoutez ceci :

$('input').click(function (e) {
    e.stopPropagation();
});

Exemple de jsFiddle

1voto

DKJ222425 Points 11

Le code ci-dessous a bien fonctionné pour moi :

$('#TSResultContent input[type="textbox"]').keydown(function (e)  {
    e.stopPropagation();
});

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