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;}elseif(left >$(window).width()- $modalDialog.width()){
left =$(window).width()- $modalDialog.width();}if(top <10){ top =0;}elseif(top >$(window).height()- $modalDialog.height()){
top =$(window).height()- $modalDialog.height();}
$modalDialog.offset({
top: top,
left: left
});});});$(document).on("mouseup mouseleave",function(){$('body').off("mousemove");});}
在modal的show方法中添加调用draggable方法
Modal.prototype.show=function(_relatedTarget){var that =thisvar e = $.Event('show.bs.modal',{relatedTarget: _relatedTarget})this.$element.trigger(e)if(this.isShown || e.isDefaultPrevented())returnthis.isShown =true//调用draggable()增加拖拽this.draggable()this.checkScrollbar()this.setScrollbar()this.$body.addClass('modal-open')this.escape()this.resize()}