动态地将div添加到拖动可滚动列表中

时间:2014-01-28 23:55:49

标签: javascript jquery html5 events draggable

我正在使用HTML5,JS和JQuery来构建网页。下面我把这段代码放在一个代表可滚动列表(devsScrollList)的代码中,当它自身的大小超过框的一个(devsBox)时,它将垂直拖动。

<div id="devsBox">
    <div id="devsScrollList"></div>  
</div>

特别是,在devsScrollList div,异步,我添加了一些div。换句话说,列表将被缓慢填充,并且它最初是空的。 为此我正在使用dragscrollable插件。 (http://hitconsultants.com/dragscroll_scrollsync/dragscrollable.js

我将div添加到devsScrollList,如下所示:

$('#devsScrollList').append("<div id=" + tmpId + " class=\"dev devScrollListSelector\">" + tmpName + "</div>");

虽然要使devsScrollList div dragscrollable,我使用以下行:

$("#devsBox").dragscrollable({dragSelector: '.devScrollListSelector', acceptPropagatedEvent: true});

现在,问题如下:

  1. 如果之前调用.dragscrollable()添加子div(让我说在初始化时),列表不会滚动,因为选择器找不到任何匹配。

    < / LI>
  2. 如果每次添加div都调用.dragscrollable(),因为.dragscrollable()应用于外部容器(在本例中为devsBox div),事件'mousedown'会被注册许多选择器找到的每个子div中的时间。结果:列表有效(它是可滚动的)但是它是无法管理的,因为在.dragscrollable()调用时,许多事件被触发,就像列表中有元素一样多。

  3. 那么,我该如何解决这个问题?

0 个答案:

没有答案