0

如何使 Bootstrap 2.xx 模态对话框可拖动?

我尝试了各种示例,但运气为零。我认为它们不适用于 Bootstrap,但这可能是一个糟糕的假设。

我是否过于复杂了?

使用 jQuery,我想我会这样做:

$("#idForModal").draggable();

但是,它什么也不做,WebKit 中也没有控制台错误。

编辑:以下添加。

也许是因为 modal 是 iFrame,不能拖动?不——不是这样,因为这行得通。http://jsfiddle.net/nj6ST/show/

4

2 回答 2

0

此代码确实有效:

$("#idForModal").draggable();

我的代码还有其他问题阻止它工作。

于 2013-08-20T21:02:03.273 回答
0

不要使用“modal”,“Modal”会在内容后面创建一个“div”并阻止用户使用其他屏幕控件,如果您想测试:jsfiddle

var oldX = 0;
var oldY = 0;
var mouseDown = false;
$('.modal_').mousedown(function(e){
   log('mousedown');
   oldX = e.clientX;
   oldY = e.clientY;
    console.log(oldX);
    mouseDown = true;
}).mouseup(function(e){
   log('mosueup');
    mouseDown = false;
}).mousemove(function(e){    
    if(mouseDown ){
        self = $(this);      
      var top = parseInt(self.css('top').replace('px', ''));
       var left = parseInt(self.css('left').replace('px', ''));

        log(left + (oldX - e.clientX)  + ' , ' + top);
        self.css('left', (left + e.clientX-oldX) + 'px');
        self.css('top', (top + e.clientY-oldY) + 'px');

        oldX = e.clientX;
        oldY = e.clientY;
    }
});
$('.modal_').on('dragstart', function(event) { event.preventDefault(); });
于 2013-12-13T13:18:45.553 回答