2010-10-08 1 views
5

J'ai une table dont le corps a été rendu triable en utilisant la fonction Sortable de jQuery UI. Dans cette table triable, j'ai une zone de texte qui permet à l'utilisateur d'entrer des commentaires sur une entrée de table donnée.Rendre le texte sélectionnable dans une zone de texte dans un parent jQuery Sortable

<table id="status"> 
    <thead> 
     <tr> 
      <th>Name</th> 
      <th>Comment</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td class="dragHandle">Jason</td> 
      <td><textarea class="commentBox"></textarea></td> 
     </tr> 
    </tbody> 
</table> 

Et le javascript pour faire la table sortable (avec une fonction d'aide pour faire des tables triables je trouve en ligne)

// Return a helper with preserved width of cells 
var fixHelper = function(e, ui) { 
    ui.children().each(function() { 
     $(this).width($(this).width()); 
    }); 

    return ui; 
}; 

$("#status").sortable({ 
    helper: fixHelper, 
    axis: 'y', 
    handle: '.dragHandle' 
}).disableSelection(); 

entrée de texte dans cette zone de texte fonctionne très bien, mais lorsque je tente de sélectionner le texte dans la zone de texte, rien ne se passe. Même en utilisant les touches Maj + Fléchées ne se comporte pas comme je m'y attendais.

Comment rendre le texte d'une zone de texte sélectionnable tout en rendant la table entière triable?

déjà essayé:

  • Faire un sortable « destroy » sur la table quand un textarea se concentrer pour essayer de permettre temporairement selectability, mais même après la destroy, la sélection de texte est encore bancal.

  • Réglage de la propriété « poignée » du sortable pour faire que le champ Nom triables

  • Définition de la propriété « désactiver » du sortable pour désactiver lorsqu'ils sont lancés à partir textareas

  • Capture du mousedown/mouseup événements dans la zone de texte (ou un div contenant le textarea) et appelant event.stopPropagation()

+0

Pouvez-vous poster votre JS sortable? – methodin

Répondre

7

Quel est le raisonnement pour l'utilisation disableSelection? C'est la raison pour laquelle votre textArea ne reçoit pas de focus.

+3

Gasp! J'étais autrefois aveugle mais maintenant je vois. Je me suis juste emparé d'une copie du dernier sortable que j'avais utilisé et je ne l'ai même pas vu sortir de la fin. Je me sens stupide. Je supprimerais cette question pour sauver ma fierté, mais vous méritez le représentant pour me donner le coup sur la tête dont j'avais besoin. :) – Jax

+3

Haha nous avons tous été là. Je ne sais pas combien de fois j'ai passé des heures à déboguer quelque chose que je suis parti d'un copier/coller;) – methodin

+0

A l'autre bout du spectre, peut-être un peu OCD, je dois comprendre tout ce que je colle - si Je ne le fais pas, je le coupe. Conduit au même cauchemar de débogage de l'autre côté de la clôture. ;) Merci pour l'explication! –

Questions connexes