我在使用Sortables()函数(Mootools库)时遇到了一个问题。
this.sort=new Sortables(this.box,{
onStart: function(el){el.setStyles({'background':'#f0f0f0','opacity':1});},
onComplete: function(el){el.setStyle('background','none');this.setEditor();}.bind(this)
});事实上,我有一个DIV,它包含其他DIV块,这些块应该是可排序的。第二级的DIVs里面有SELECT标签。
问题是这些下拉列表在单击时不会下降。单击恰好落在父DIV元素上,onStart函数启动。如何解决这个问题呢?
原型:http://jsfiddle.net/uCM2R/3/
发布于 2011-06-27 19:24:43
mootools 1.12?哈哈。
正确的。所以基本上你希望在下拉列表上点击一下就不会触发排序?这将是棘手的,因为它在父级上使用委托事件,并且它是冒泡的。此外,在select上编写点击事件脚本也是不可靠的,所以你不能阻止点击事件可靠地传播-至少在1.12中是这样。1.3.2就可以了。
考虑在select上使用handles: "div.foo"选项,这是一个子div,允许它们移动东西,而不是整个div。
http://jsfiddle.net/dimitar/uCM2R/4/
显然,在div.foo句柄中,您可以放置一些指示移动的图标。只有它们将用作排序的拖动点,从而使您能够处理没有干涉的选择。
根据您的原始规范/标记,它在1.3.2中:http://jsfiddle.net/dimitar/uCM2R/6/
为停止冒泡的选择添加了一个单击处理程序。
https://stackoverflow.com/questions/6491374
复制相似问题