Sto cercando di rendere trascinabili gli elementi del modulo utilizzando l'interfaccia utente di jQuery. Ad esempio, pulsanti, caselle di controllo, campi di testo, ecc. Finora non ho avuto fortuna. Avete qualche idea su come realizzare questo?Elementi di input trascinabili jQuery
risposta
elementi ben ingresso devono essere modificabili, in modo che li rende trascinabili li renderebbe non modificabile.
avvolgerli in un <span>
o un <div>
e vi consiglio caldamente di utilizzare un handle.
Penso che questo sia più adatto alle tue esigenze :) È trascinabile + ridimensionabile sull'elemento di input ma non hai perso la natura per essere modificabile.
$(function(){
$('.draggable').draggable().resizable();
});
Ecco la mia soluzione per voi: my jsFiddle.
Il trucco consiste nel mettere un div trasparente sopra gli elementi ingressi:
div div{
position:absolute;
z-index:2;
height: 100%;
width: 100%;
}
div input{
position:relative;
z-index:1;
}
<div><div> </div><input type="text" value="..." disabled="true"/></div>
$('body>div').draggable();
Questo è quello che stavo cercando. Avevo bisogno di visualizzare i moduli di input, renderli trascinabili e inutilizzabili senza modificare il loro aspetto per un WYSIWYG. Non posso credere di non aver pensato a questa semplice soluzione. – Johannes
la soluzione migliore è che li metti in un div o luce
forse 3 anni di ritardo, ma si poteva spedire evento e l'uso seguente frammento di codice per un comportamento più atteso:
$(".draggable").draggable({
start: function (event, ui) {
$(this).data('preventBehaviour', true);
}
});
$(".draggable").find(":input").on('mousedown', function (e) {
var mdown = new MouseEvent("mousedown", {
screenX: e.screenX,
screenY: e.screenY,
clientX: e.clientX,
clientY: e.clientY,
view: window
});
$(this).closest('.draggable')[0].dispatchEvent(mdown);
}).on('click', function (e) {
var $draggable = $(this).closest('.draggable');
if ($draggable.data("preventBehaviour")) {
e.preventDefault();
$draggable.data("preventBehaviour", false)
}
});
'initMouseEvent' è deprecato - qualsiasi idea di cosa lo sostituisca? – SQLiteNoob
@SQLiteNoob Thx per il feedback. Ho aggiornato la risposta usando il costruttore 'MouseEvent()' –
Grazie, è una soluzione brillante al problema, – SQLiteNoob
- 1. jQuery UI Draggable/Sortable - Elementi aggiunti dinamicamente non trascinabili
- 2. jQuery .each() con elementi di input
- 3. Come scattare elementi ad altri elementi trascinabili con interact.js
- 4. jQuery - div trascinabili con zoom
- 5. Elementi di elenco ordinabili/trascinabili senza jQuery UI (o jQuery affatto?)
- 6. Come creare un ListView con elementi trascinabili?
- 7. Come combinare elementi jolly di jquery ui trascinabili con codice di scala personalizzato?
- 8. Guide quando si spostano scatole jquery-trascinabili
- 9. Strano compensato in jQuery UI trascinabili
- 10. jQuery UI trascinabili, trascinare genitore div
- 11. JQuery immagine trascinabili con posizione salvata
- 12. jquery movimenti trascinabili su 30 gradi solo
- 13. Limita elementi jaggery trascinabili da sovrapposizione/collisione con elementi di pari livello
- 14. Combinazione di ItemsControl con elementi trascinabili - Element.parent sempre nullo
- 15. Elementi di interfaccia utente jQuery trascinabili che utilizzano una posizione di avvio errata durante lo scorrimento del browser?
- 16. jQuery elementi trascinabili perdono la loro trascinabilità dopo essere stati scambiati (con esempio jsfiddle)
- 17. Rendi gli elementi HTML personalizzati trascinabili in iframe
- 18. Jquery tablesorter - ordina per colonna avendo <input> elementi
- 19. tasti non possono fatta draggables da jQuery UI trascinabili()
- 20. Input vs: Input in jQuery
- 21. jQuery datepicker senza input
- 22. elementi di input di stile CSS
- 23. Jquery trascinabili(), clone() per aggiungere div ... Pls Fiddle mia jsfiddle
- 24. Si consiglia di utilizzare un plug-in JQuery che gestisca il rilevamento delle collisioni per elementi trascinabili
- 25. coppie Selezione di elementi HTML in jQuery
- 26. Estendi il metodo jQuery's .val() agli elementi non di input
- 27. jQuery: cliccando elementi annidati
- 28. Jquery - Accesso elementi figlio nidificati
- 29. Che cos'è innerHTML sugli elementi di input?
- 30. Cellule trascinabili CellWable GWT
Sì, ma se non si desidera che l'input sia modificabile. – bryan