J'essaie de rendre les éléments de formulaire glissables à l'aide de l'interface utilisateur jQuery. Par exemple, les boutons, les cases à cocher, les champs de texte, etc. Jusqu'à présent, je n'ai pas eu de chance. Avez-vous des idées pour y parvenir?Éléments d'entrée jQuery Draggable
Répondre
éléments bien entrée doivent être modifiables, afin de les rendre draggable feraient les uneditable.
les envelopper dans un <span>
ou un <div>
et je vous suggère fortement utiliser un handle.
Je pense que cela correspond mieux à vos besoins :) Son draggable + redimensionnable sur l'élément d'entrée mais vous n'avez pas perdu leur nature pour être modifiable.
$(function(){
$('.draggable').draggable().resizable();
});
Voici ma solution pour vous: my jsFiddle.
L'astuce consiste à mettre un div transparent sur les entrées des éléments:
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();
C'est ce que je cherchais. J'avais besoin d'afficher les entrées de formulaire, de les rendre glissables et inutilisables sans changer leur apparence pour un WYSIWYG. Je ne peux pas croire que je n'ai pas pensé à cette solution simple. – Johannes
la meilleure solution est que vous les mettez dans une div ou durée
Peut-être 3 ans trop tard, mais vous pouvez envoyer événement et extrait suivant l'utilisation pour un comportement plus attendu:
$(".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' est obsolète - une idée de ce qui le remplace? – SQLiteNoob
@SQLiteNoob Thx pour les commentaires. J'ai mis à jour la réponse en utilisant le constructeur 'MouseEvent()' –
Merci, c'est une solution brillante au problème, – SQLiteNoob
- 1. Draggable Jquery
- 2. jquery - draggable
- 3. JQuery Draggable
- 4. jquery draggable
- 5. JQuery draggable divs
- 6. jquery draggable to sortable
- 7. jQuery draggable/droppable probleme
- 8. Problème avec jQuery Draggable
- 9. Aide Jquery: Draggable à Sortable, puis de nouveau à draggable
- 10. jQuery Draggable to Sortable list
- 11. jQuery UI draggable() et resizable()
- 12. jQuery droppable/draggable
- 13. jquery draggable acceptent: classpath
- 14. Jquery Draggable/direct
- 15. jquery élément draggable perdu
- 16. jQuery UI propriétés draggable
- 17. jQuery, draggable, id conteneur
- 18. Jquery draggable et clone
- 19. Calculer divs draggable - jquery
- 20. jQuery-UI Datepicker: Draggable?
- 21. jquery options draggable
- 22. Précision draggable dans jQuery
- 23. JQuery UI Draggable - Comment savoir qu'un élément est draggable initialisé?
- 24. jQuery draggable/largable: l'accès à l'élément d'origine
- 25. Jquery Draggable avec plusieurs poignées
- 26. JQuery Draggable et Sortable placeholder
- 27. jQuery Draggable, largable, ASP.NET MVC
- 28. superposition d'un div draggable jquery
- 29. jQuery live draggable/live droppable?
- 30. YUI Uploader dans jQuery Draggable
Oui mais si vous ne voulez pas que les entrées soient modifiables. – bryan