jquery ui是比较成功的ui设计,但是很多组件都是内置的方法,如果要实现一些想要的特定效果,很有可能涉及到重写,但是重写是能避免的尽量避免。
比如我想在Accordion 折叠面板的Draggable拖动效果,其实如果要求不高,ui库给的两个效果叠加,就完事了,但是出现移动的时候面板响应的情况。
我的解决方案是,在移动事件被触发的时候,disable面板,在结束的时候,使能面板。代码如下:
function drag_accordion(item) {
item.draggable({
containment: "#work_center",
start: function (event, ui) {
item.accordion("option", "disabled", true);
},
stop: function (event, ui) {
item.accordion("option", "disabled", false);
}
});
item.accordion({
collapsible: true,
heightStyle: "content"
});
}
分享出来,希望对大家有所帮助。