我正在使用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});
现在,问题如下:
如果之前调用.dragscrollable()
添加子div(让我说在初始化时),列表不会滚动,因为选择器找不到任何匹配。
如果每次添加div都调用.dragscrollable()
,因为.dragscrollable()
应用于外部容器(在本例中为devsBox div),事件'mousedown'会被注册许多选择器找到的每个子div中的时间。结果:列表有效(它是可滚动的)但是它是无法管理的,因为在.dragscrollable()
调用时,许多事件被触发,就像列表中有元素一样多。
那么,我该如何解决这个问题?