bootstrap如何拖拽组件

 时间:2026-02-14 14:46:46

1、到官网下载-基于3.3.4或更高的3.x版本的bootstrap.js

bootstrap如何拖拽组件

2、1.打开bootstrap.js源代码找到modal组件代码块:

Modal.DEFAULTS = {

 backdrop: true,

 keyboard: true,

 show: true

}

...............................

......................

..................

.............

..........

....

...

bootstrap如何拖拽组件

3、在代码中加入:

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");

 });

}

bootstrap如何拖拽组件

4、在modal的show方法中添加调用draggable方法

代码如下:

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()

    //......省略

}

bootstrap如何拖拽组件

5、完成上面的操作后直接引入刚刚修改的源码js在页面就已经能够很好的支持拖拽了,而且整个拖拽是在可视窗口范围内,不会超出边界。

  • 钓鱼方法之怎样用搓饵钓鲫鱼
  • 怎样钓获鲤鱼?钓鲤鱼技巧
  • 钓鱼钩的绑法
  • 怎么通过浮标判断什么鱼咬钩
  • 冬季怎样锚鱼?用什么鱼竿锚鱼?用什么渔轮锚鱼
  • 热门搜索
    江门旅游景点大全 旅游圈 黄山旅游攻略二日游 叙利亚旅游 巴黎旅游景点 雁荡山旅游风景区 桂林旅游价格 韩国旅游价格 日内瓦旅游 山西太原旅游