如何避免在sap.m.list中

时间:2016-06-28 11:20:05

标签: javascript jquery-ui sapui5

我已经为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”类的标签,以便列表中的所有项都可以拖动。现在我需要停止拖放该列表中的特定项目。

2 个答案:

答案 0 :(得分:0)

您可以使用cancel选项初始化sortable:

$(".ui-sortable").sortable(
   { cancel: ".non-draggable" }
);

或者您可以稍后再设置:

$( ".ui-sortable" ).sortable( "option", "cancel", ".non-draggable" );

当然不是"不可拖动的"你可以使用任何选择器

答案 1 :(得分:0)

filter