Sto tentando di creare una casella di testo ridimensionabile (ASP.NET multilinea/HTML textarea
) e utilizzare l'interfaccia utente di JQuery per renderlo ridimensionabile, ma sembra che si verifichino alcuni problemi relativi al trascinamento personalizzato maniglie.Maniglie ridimensionabili personalizzate nell'interfaccia utente JQuery
La documentazione di JQuery sul metodo Resizable
(in particolare quella sull'opzione handles
) suggerisce che è possibile impostare uno qualsiasi degli handle per utilizzare un elemento HTML personalizzato. Sono riuscito a far funzionare perfettamente la casella di testo ridimensionabile usando i manici ridimensionabili di default, ma provare a impostare quelli personalizzati (cioè un elemento HTML che ho definito in markup) crea il seguente problema: il contenitore ridimensionabile lascia la giusta quantità di spazio per la maniglia div
nella parte inferiore (per la maniglia Sud), ma lascia lo spazio vuoto e mostra l'elemento sottostante (esterno) del contenitore ridimensionabile (verificato utilizzando Firebug).
Ecco il mio markup (ASP.NET/XHTML) e il codice JavaScript:
<asp:TextBox runat="server" ID="codeTextBox" TextMode="MultiLine" Wrap="false" Rows="15">
</asp:TextBox>
<div class="resizable-s" style="width: 100%; height: 22px; background: red;">
</div>
<script type="text/javascript">
$(function() {
var codeTextBox = $("#<%= codeTextBox.ClientID %>");
codeTextBox.resizable({
handles: { s : $(".resizable-s") },
minHeight: 80,
maxHeight: 400
});
});
</script>
Naturalmente, non posso fare il manico div ridimensionabile (classe resizable-s
) un bambino del TextBox
/textarea
, ma questo non dovrebbe essere un problema secondo i documenti di JQuery.
A giudicare dalla ricerca che ho fatto, non sono l'unica persona che ha avuto questo problema. (Sfortunatamente, i documenti di JQuery non riescono a dare un esempio dell'uso di maniglie ridimensionabili personalizzate, quindi non abbiamo tutti la certezza di avere il codice giusto.) Se qualcuno potrebbe suggerire una correzione a questo, o addirittura confermare che si tratta di un bug di JQuery, sarebbe molto apprezzato
Grazie per aver indagato su questo. Non mi aspettavo un trucco per correggere i file JS, ma sarebbe bello averne uno! Sfortunatamente, ho provato a integrare le tue modifiche, ma senza fortuna. Il div "sud" appare come un testo molto piccolo e non si comporta affatto come un handle (impostando 'font-size: 100%;' rende il testo chiaramente visibile, ma non più). Forse ci sono altri cambiamenti che hai fatto? – Noldorin
Completamente a destra, ho perso una riga con cui mi sono immischiato. Ho messo altezza/larghezza/colore di sfondo nel CSS per il Sud Sud nei miei test - che rende più facile trovare la maniglia. Solo con la dimensione del font al 100%, però, non ho aggiunto le regole CSS all'analisi. – ylebre
Strano ... Continuo a non ottenere risultati e ho ricontrollato che il mio codice corrisponda a quello che hai postato identicamente. Qualche idea? Sarebbe possibile caricare la tua pagina di prova e modificare il file ui.resizable.js? – Noldorin