Me gustaría poder moverme (en el fondo gris, arrastrando y soltando) el formulario modal proporcionado por Bootstrap 2. ¿Alguien me puede decir cuál es la mejor práctica para lograr esto?Twitter Modalidad Bootstrap: cómo arrastrar y soltar?
Respuesta
El programa de arranque no viene con ninguna función de arrastrar y soltar de forma predeterminada, pero puede agregar un poco de jQuery UI spice en la mezcla para obtener el efecto que está buscando. Por ejemplo, utilizando la interacción draggable
del marco, puede orientar su ID modal para permitir que se arrastre en el fondo modal.
Prueba esto:
JS
$("#myModal").draggable({
handle: ".modal-header"
});
Actualización: bootstrap3 demo
Cualquiera sea la opción de ir para arrastrable, es posible que desee desactivar las propiedades de *-transition
.modal.fade
en el archivo CSS de arranque, o al menos escribir algo de JS que los desactiva temporalmente durante el arrastre. De lo contrario, el modal no se arrastra exactamente como cabría esperar.
este problema discutido y resuelto en http://stackoverflow.com/questions/15881245/draggable-js-bootstrap-modal-performance-issues – bbodenmiller
jquery UI es grande y puede entrar en conflicto con el arranque.
Una alternativa es DragDrop.js: http://kbjr.github.io/DragDrop/index.html
DragDrop.bind($('#myModal')[0], {
anchor: $('#myModal .modal-header')
});
Usted todavía tiene que hacer frente a las transiciones, como sugiere @ user535673. Solo elimino la clase de fundido de mi diálogo.
Puede usar un pequeño script que le guste.
simplificado de Draggable without jQuery UI
(function ($) {
$.fn.drags = function (opt) {
opt = $.extend({
handle: "",
cursor: "move"
}, opt);
var $selected = this;
var $elements = (opt.handle === "") ? this : this.find(opt.handle);
$elements.css('cursor', opt.cursor).on("mousedown", function (e) {
var pos_y = $selected.offset().top - e.pageY,
pos_x = $selected.offset().left - e.pageX;
$(document).on("mousemove", function (e) {
$selected.offset({
top: e.pageY + pos_y,
left: e.pageX + pos_x
});
}).on("mouseup", function() {
$(this).off("mousemove"); // Unbind events from document
});
e.preventDefault(); // disable selection
});
return this;
};
})(jQuery);
ejemplo: $ ("# someDlg") modales() caladas ({mango: "modal-header"})..;
Su código no está actualizado. Intenté tu código y funcionó, pero el arrastre tiene errores. Se solucionó obteniendo el código del enlace de arriba. Actualice su código, basado en el del enlace. –
- 1. ¿Arrastrar y soltar para Twitter bootstrap 2.0?
- 2. ipad arrastrar y soltar
- 3. Swing arrastrar y soltar
- 4. ItemsControl Arrastrar y soltar
- 5. ¿Arrastrar y soltar polyfill?
- 6. Trello arrastrar y soltar efecto
- 7. arrastrar y soltar controles winform
- 8. Arrastrar y soltar con Ember.js
- 9. Symfony2 y Twitter Bootstrap
- 10. desactivar texto arrastrar y soltar
- 11. UICollectionView efectiva arrastrar y soltar
- 12. Plone y Twitter Bootstrap
- 13. Arrastrar y soltar con columpio
- 14. arrastrar y soltar objetos personalizados
- 15. Arrastrar y soltar en Treeview
- 16. Javascript Arrastrar y soltar cuadrícula
- 17. Arrastrar y soltar desde Thunderbird
- 18. Arrastrar y soltar en MobileSafari?
- 19. HTML5 Arrastrar y soltar nodos
- 20. Arrastrar y soltar usando SendMessage
- 21. jstree mover, arrastrar y soltar
- 22. Twitter Bootstrap y Google Maps
- 23. UITableView toque y mantenga + arrastrar y soltar
- 24. NSTableView y NSOutlineView de arrastrar y soltar
- 25. Cambio del cursor del mouse para HTML5 Arrastrar y soltar archivos (GMail Arrastrar y soltar)
- 26. Twitter Bootstrap etiquetas y entradas
- 27. Silverlight Toolkit TreeView Arrastrar y soltar
- 28. arrastrar un JLabel con un TransferHandler (arrastrar y soltar)
- 29. Usando arrastrar y soltar en sitios web?
- 30. jqGrid reordenar columna de arrastrar y soltar
Después de establecer el '.modal-header {cursor: move}' esto funciona como un amuleto. – DontVoteMeDown
No puedo ver que esto funcione en la última versión de arranque, 3.3.5. ¿Algun consejo? Cambió el Jquery a 1.11.0, pero no hubo suerte. Gracias. – Khrys
Hola @Khrys, aquí hay una demostración actualizada con el encabezado modal arrastrable, http://output.jsbin.com/vafulubaju. Esta respuesta es bastante antigua, así que supongo que algún enlace JS en la demostración está roto). –