代码之家  ›  专栏  ›  技术社区  ›  AllenBooTung

如何拖动多模态?

  •  2
  • AllenBooTung  · 技术社区  · 6 年前

    单击灰色标题上的li可以弹出多个模态。 我想拖拽情态动词,但在这把小提琴里 https://jsfiddle.net/jz2cqvyn/3/ 我只能拖动最后弹出的模态。 我怎样才能做到?

    $(document).ready(function(){
    
      $('li').click(function() {
        id = $(this).attr('id');
        imgsrc = $(this).children('img').attr('src');
    
        modaldiv = $('.modalExample').html();
        modaldiv = modaldiv.replace("myModal", "myModal_"+id);
        modaldiv = modaldiv.replace("fakimg", imgsrc);
        $('.area').append(modaldiv);
    
        // reset modal if it isn't visible
        if (!($('.modal.in').length)) {
          $('.modal-dialog').css({
            top: 200,
            left: 0
          });
        }
    
        $('#myModal_'+id).modal({
          backdrop: false,
          show: true
        });
    
        $('.modal-dialog').draggable({
          handle: ".modal-body"
        });
      });
    });
    
    1 回复  |  直到 6 年前
        1
  •  3
  •   Galzor    6 年前

    这是个好问题。我想我解决了。您所需要做的就是使后面的模式窗口可单击。休息很好。

    尝试以下代码。检查我在底部添加的1行。让我知道这是否有效。

    $('li').click(function() {
        id = $(this).attr('id');
        imgsrc = $(this).children('img').attr('src');
    
        modaldiv = $('.modalExample').html();
        modaldiv = modaldiv.replace("myModal", "myModal_"+id);
        modaldiv = modaldiv.replace("fakimg", imgsrc);
        $('.area').append(modaldiv);
    
        // reset modal if it isn't visible
        if (!($('.modal.in').length)) {
          $('.modal-dialog').css({
            top: 200,
            left: 0
          });
        }
    
        //$('#myModal').modal({
        $('#myModal_'+id).modal({
          backdrop: false,
          show: true
        });
    
        $('.modal-dialog').draggable({
          handle: ".modal-body"
        });
    
       // To make behind elements clickable
       $('.modal-open .modal.in').css( 'pointer-events', 'none' );
       $('.modal-open .modal.in .modal-dialog').css( 'pointer-events', 'all' );
    
      });
    

    对不起,那是我的错,我以为你用的是bootstrap 4。但它是3.3。所以我再次进行了更改,现在请尝试上面的代码。