How to drag and drop components in bootstrap
Steps (based on 3.3.4 or higher 3.x version):
1. Open bootstrap Find the modal component code block in the .js source code, and add drag and drop code under the Modal.DEFAULTS code block to implement it.
Modal.DEFAULTS = { backdrop: true, keyboard: true, show: true } //新加入的拖拽 Modal.prototype.draggable = function () { var $ele = this.$element; var mouseOffset; var $modalDialog = $ele.find(".modal-dialog"); var dialogOffset; $ele.find(".modal-header").on('mousedown', function (event) { $(this).addClass({cursor: 'move'}); $('body').addClass('select'); dialogOffset = $modalDialog.offset(); mouseOffset = { top: event.pageY - dialogOffset.top, left: event.pageX - dialogOffset.left }; $('body').on("mousemove", function (event) { var left = event.pageX - mouseOffset.left; var top = event.pageY - mouseOffset.top; if (left < 10) { left = 0; } else if (left > $(window).width() - $modalDialog.width()) { left = $(window).width() - $modalDialog.width(); } if (top < 10) { top = 0; } else if (top > $(window).height() - $modalDialog.height()) { top = $(window).height() - $modalDialog.height(); } $modalDialog.offset({ top: top, left: left }); }); }); $(document).on("mouseup mouseleave", function () { $('body').off("mousemove"); }); }
Related recommendations: "Bootstrap Getting Started Tutorial"
2. Add and call the draggable method in the show method of modal
Modal.prototype.show = function (_relatedTarget) { var that = this var e = $.Event('show.bs.modal', {relatedTarget: _relatedTarget}) this.$element.trigger(e) if (this.isShown || e.isDefaultPrevented()) return this.isShown = true //调用draggable()增加拖拽 this.draggable() this.checkScrollbar() this.setScrollbar() this.$body.addClass('modal-open') this.escape() this.resize() //......省略 }
to complete the above operation After directly introducing the source code js that was just modified, the page can already support drag and drop very well, and the entire drag and drop is within the scope of the visual window and will not exceed the boundary.
Note: After completing the above source code modification, it is best to compress and package the bootstrap source code. Those who are not familiar with automatic construction can put it on an open website for compression. Those who are familiar with automatic construction are best to use front-ends such as gulp and webpack. Automated tools to package and compress source code to reduce bandwidth usage during web page loading. Of course, it is also recommended to name the file something like bootstrap-draggable.min.js so that you can clearly guess how this file is different from the original file. In addition, you can also directly download the source code of the bootstrap3.x version, then modify the modal.js inside, and then use its own grunt build to repackage it.
The problem arises: Compared with the 3.x version, the source code of the bootstrap 4.0 version does not have much modification to the modal component. The above method can also be adopted. Including centering the modal, you can also modify the source code to complete it.
The above is the detailed content of How to drag and drop components in bootstrap. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



How to use Bootstrap to get the value of the search bar: Determines the ID or name of the search bar. Use JavaScript to get DOM elements. Gets the value of the element. Perform the required actions.

Use Bootstrap to implement vertical centering: flexbox method: Use the d-flex, justify-content-center, and align-items-center classes to place elements in the flexbox container. align-items-center class method: For browsers that do not support flexbox, use the align-items-center class, provided that the parent element has a defined height.

There are two ways to create a Bootstrap split line: using the tag, which creates a horizontal split line. Use the CSS border property to create custom style split lines.

There are several ways to insert images in Bootstrap: insert images directly, using the HTML img tag. With the Bootstrap image component, you can provide responsive images and more styles. Set the image size, use the img-fluid class to make the image adaptable. Set the border, using the img-bordered class. Set the rounded corners and use the img-rounded class. Set the shadow, use the shadow class. Resize and position the image, using CSS style. Using the background image, use the background-image CSS property.

To adjust the size of elements in Bootstrap, you can use the dimension class, which includes: adjusting width: .col-, .w-, .mw-adjust height: .h-, .min-h-, .max-h-

To set up the Bootstrap framework, you need to follow these steps: 1. Reference the Bootstrap file via CDN; 2. Download and host the file on your own server; 3. Include the Bootstrap file in HTML; 4. Compile Sass/Less as needed; 5. Import a custom file (optional). Once setup is complete, you can use Bootstrap's grid systems, components, and styles to create responsive websites and applications.

Using Bootstrap in Vue.js is divided into five steps: Install Bootstrap. Import Bootstrap in main.js. Use the Bootstrap component directly in the template. Optional: Custom style. Optional: Use plug-ins.

How to use the Bootstrap button? Introduce Bootstrap CSS to create button elements and add Bootstrap button class to add button text
