我已经为sap.m.list实现了拖放操作,如下所示。现在我需要避免拖动列表中特定项目的拖放。如何仅针对特定项目停止拖放功能
jQuery.sap.require('sap.ui.thirdparty.jqueryui.jquery-ui-core');
jQuery.sap.require('sap.ui.thirdparty.jqueryui.jquery-ui-widget');
jQuery.sap.require('sap.ui.thirdparty.jqueryui.jquery-ui-mouse');
jQuery.sap.require('sap.ui.thirdparty.jqueryui.jquery-ui-draggable');
jQuery.sap.require('sap.ui.thirdparty.jqueryui.jquery-ui-sortable');
my.clauseRendering = function (oControl) {
//inject control
//debugger;
test = this;
test.oControl = oControl;
};
my.clauseRendering.prototype = {
onAfterRendering: function () {
$("#clauseList-listUl").addClass('ui-sortable');
$("#clauseList-listUl").sortable({
//connectWith : ".ui-sortable"
cancel: '',
start: function(event, ui) {
debugger;
ui.item.startPos = ui.item.index();
},
// sync the model after reordering in the box
stop: function(event, ui) {
//debugger;
----
}
}).disableSelection();
}
var ClauseList=sap.ui.getCore().byId("clauseList");
ClauseList.addDelegate(new my.clauseRendering(ClauseList));
这里列表的html视图就像列表将带有“ui-sortable”类的标签,以便列表中的所有项都可以拖动。现在我需要停止拖放该列表中的特定项目。
答案 0 :(得分:0)
您可以使用cancel选项初始化sortable:
$(".ui-sortable").sortable(
{ cancel: ".non-draggable" }
);
或者您可以稍后再设置:
$( ".ui-sortable" ).sortable( "option", "cancel", ".non-draggable" );
当然不是"不可拖动的"你可以使用任何选择器
答案 1 :(得分:0)
filter