Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui jQuery UI可排序:排序时不更改项目顺序_Jquery Ui_Jquery Ui Sortable - Fatal编程技术网

Jquery ui jQuery UI可排序:排序时不更改项目顺序

Jquery ui jQuery UI可排序:排序时不更改项目顺序,jquery-ui,jquery-ui-sortable,Jquery Ui,Jquery Ui Sortable,默认情况下,排序时会替换项目(例如,如果我将第三个元素移动到第一个元素,则第一个和第二个元素将向下移动) 我不需要这种行为。我希望在完成排序(释放鼠标)时元素不会改变顺序 我之所以需要这个,是因为我想问用户是想更改元素还是重新排序 p.S.选项公差只有两个选项,在这种情况下它们没有帮助。我的意思是这样的(带有替换元素选项的可排序列表): $(函数(){ 变量 /** *可排序列表,可插入或替换元素 */ SortableList=(函数(){ 变量 //可排序列表的配置 //分隔符和可排序元素

默认情况下,排序时会替换项目(例如,如果我将第三个元素移动到第一个元素,则第一个和第二个元素将向下移动)

我不需要这种行为。我希望在完成排序(释放鼠标)时元素不会改变顺序

我之所以需要这个,是因为我想问用户是想更改元素还是重新排序


p.S.选项
公差
只有两个选项,在这种情况下它们没有帮助。

我的意思是这样的(带有替换元素选项的可排序列表):

$(函数(){
变量
/**
*可排序列表,可插入或替换元素
*/
SortableList=(函数(){
变量
//可排序列表的配置
//分隔符和可排序元素的css类
//jQuery UI可拖放和可排序初始化配置
配置={
'确认消息':'插入?元素将被删除',
“分隔符类”:“可排序分隔符”,
“可排序类”:“可排序元素”,
//jQuery UI可拖放的初始化
“分隔符可拖放初始化”:{
drop:函数(e、ui){
//插入
var drag=ui.draggable,
下降=$(此),
a=drop.prev(),
b=drop.next();
分离器。清洁();
元素。插入(a、b、拖动);
分隔符。init();
},
结束:功能(e、ui){
$(this.css)({
“背景色”:“浅绿色”
});
},
输出:功能(e、ui){
$(this.css)({
“背景色”:“白色”
});
}
},
“可排序的可拖放初始化”:{
drop:函数(e、ui){
//替换
var drag=ui.draggable,
下降=$(本次);
if(元素替换(拖放)){
分隔符。init();
}
}
},
“可排序的可拖动初始化”:{
回复:对,
开始:功能(e、ui){
$(this.css)({
“z索引”:“999”,
“游标”:“移动”
});
},
停止:功能(e、ui){
$(this.css)({
“z索引”:“1”,
“游标”:“默认值”
});
}
}
},
getSeparators=函数(){
返回$('.+CONFIG['separator-class']);
},
getSortables=函数(){
返回$('.+CONFIG['sortable-class']);
},
/**
*分离器处理器
*/
分隔符=(函数(){
变量
//创建分隔符html元素
_create=function(){
返回$('').addClass(配置['separator-class']);
},
//创建所有分隔符并插入它们
createAll=函数(){
getSortables()。每个(函数(){
$(this.before(_create());
}).last().after(_create());
回流分离器;
},
//拆下所有分离器
clean=函数(){
var s=getSeparators();
如果(s.长度){
s、 删除();
}
回流分离器;
},
//init jQuery UI可拖放接口
initDropable=函数(){
getSeparators().droppable(配置['separators-droppable-init']);
回流分离器;
},
//分离器的初始化
init=函数(){
if(getSeparators().length){
分离器。清洁();
}
返回分隔符.createAll().initDropable();
};
//返回结果
分隔符={
干净:干净,
createAll:createAll,
init:init,
initdropable:initdropable
};
回流分离器;
}()),
元素=(函数(){
变量
init=函数(){
getSortables().droppable(CONFIG['sortable-droppable-init']).draggable(CONFIG['sortable-draggable-init']);
返回元素;
},
//用元素B替换元素A
替换=功能(A,B){
如果(!confirm(配置['confirm-message'])){
返回false;
}
B.draggable(“选项”,“恢复”,false).css({
排名:0,
左:0
});
A.以(B)取代;
返回元素;
},
//在元件A和B之间插入元件C
插入=功能(A、B、C){
C.draggable(“选项”,“恢复”,false).css({
排名:0,
左:0
});
如果(!A.长度){
B.在(C)之前;
}否则{
A.在(C)之后;
}
返回元素;
},
//返回结果
元素={
init:init,
替换:替换,
插入:插入
};
返回元素;
}()),
init=函数(){
分隔符。init();
元素。init();
};
返回{
init:init
};
}());
SortableList.init();
});
。可排序元素{
宽度:32px;
高度:32px;
背景色:暗色;
边框:1px纯棕色;
颜色:白色;
}
.可分拣分离器{
宽度:100px;
高度:16px;
位置:相对位置;
}

1.
2.
3.
4.
5.
6.
7.
8.
9
10