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

.hide()/.show()和dropable

  •  3
  • tpae  · 技术社区  · 14 年前

    我有一个问题,当draggable触发器drag时元素调用.show(),不允许我放入dropable。我怎样才能解决这个问题?

    $(document).ready(function() {
    $(".folder").droppable({
            greedy: true,
            drop: function(event, ui) {
                $(".folder").hide();
            },
            tolerance: 'touch'
        });
    
    $(".folder").hide();
    $(".draggable_folder").draggable({ 
        cursor: 'move',
        cursorAt: { top: 8, left: 0 },
        drag: function(event, ui) {
            $(".folder").show();
        },
        helper: function(event) {
            var subject = $(this).find('.message_subject').html();
            return $('<div class="ui-widget-header" style="max-width: 100px;">'+subject+'</div>');
        }
    });
    });
    
    <ul>
        <li class="folder">{$folders[f_list].name}</a><div style="clear:both"></div></li>
    </ul>
    <table>
        <tr class="draggable_folder"><td>test</td></tr>
    </table>
    
    1 回复  |  直到 14 年前
        1
  •  2
  •   Gert Grenander Keiron Lowe    14 年前

    $(".draggable_folder").draggable ,更改 drag: function(event, ui) start: function() . 这将使 .folder 可见,可拖放将变为活动状态。draggable的最终代码:

    $(".draggable_folder").draggable({ 
      cursor: 'move',
      cursorAt: { top: 8, left: 0 },
      start: function() {
        $(".folder").show();
      },
      helper: function(event) {
        var subject = $(this).find('.message_subject').html();
        return $('<div class="ui-widget-header" style="max-width: 100px;">'+subject+'</div>');
      }
    });