【问题标题】:JQuery UI - Limit draggable to elements tagged with specific classJQuery UI - 将可拖动限制为带有特定类标记的元素
【发布时间】:2014-02-24 04:22:35
【问题描述】:

是否可以将可拖动的 TD 限制为仅具有特定类的元素。

基本思想是一个带有draggable标签的元素只能拖到一个dropable元素上。

<table>
   <tbody>
       <tr>
           <td>Header 1</td> <!-- can't drag here -->
           <td>Header 1</td> <!-- can't drag here -->
           <td>Header 1</td> <!-- can't drag here -->
           <td class="draggable">draggable TD</td> <-- draggable td -->
           <td class="droppable">droppable area</td> <-- draggable area -->
           <td class="droppable">droppable area</td> <-- draggable area -->
           <td class="droppable">droppable area</td> <-- draggable area -->
           <td class="droppable">droppable area</td> <-- draggable area -->
       </tr>
   </tbody>
</table>

我已阅读 Jquery UI 文档,但似乎真正限制可拖动对象的唯一方法是使用父容器或包装的 DIV,但在表中这实际上是不可能的。

  <table>
       <tbody>
           <tr>
               <td>Header 1</td> <!-- can't drag here -->
               <td>Header 1</td> <!-- can't drag here -->
               <td>Header 1</td> <!-- can't drag here -->
               <div class="container"> <-- INVALID HTML -->
                   <td class="draggable">draggable TD</td> <-- draggable td -->
                   <td class="droppable">droppable area</td> <-- draggable area -->
                   <td class="droppable">droppable area</td> <-- draggable area -->
                   <td class="droppable">droppable area</td> <-- draggable area -->
                   <td class="droppable">droppable area</td> <-- draggable area -->
                </div>
           </tr>
       </tbody>
   </table>

更新:JSFiddle 显示问题 http://jsfiddle.net/d7wsz/67

【问题讨论】:

  • 您好,是的,我已经模拟了一个示例,请参见jsfiddle.net/d7wsz/67。如果您在拖动元素时将包含选项指定为可放置类,它会卡在选择器可以找到的第一个 .droppable 元素上。

标签: javascript jquery html


【解决方案1】:

您可以指定哪些表列将作为可放置的(使用类)

$( "td.droppable" ).droppable();

【讨论】:

  • 嗯,我认为你没有消化我的问题丹尼尔。我的目标是找到一种方法,将可拖动元素移动到已用我们的容器类标记的其他元素。
  • 你是对的。在那种情况下,我会使用多个 。这使得 HTML 有效,并允许您在元素内包含行。
  • 不幸的是,多个 标签并不能解决问题,因为我正在处理单行内容(每个 tbody 必须包含至少一个 TR w3schools.com/Tags/tag_tbody.asp
【解决方案2】:

如果不使用无效的 HTML,我找不到使用常规表格的解决方案。最后,我选择了一个基于 DIV 的表,该表符合要求,并允许我将每组“TD”包装在一个容器 DIV 中。

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签