启用禁用JQuery可拖动

时间:2010-06-09 09:23:57

标签: jquery

我正在处理一个打印表单,它将使管理员用户更改打印表单的布局 所以我选择JQuery Dragable作为工作,它的工作正常,但他们是一个问题 启用或禁用HTML中可拖动的第一个元素,当可拖动禁用时,使用禁用样式,其他元素保持原始外观 我正在使用IE 8。 我在Fierfox和Chrome上运行代码,结果是所有Element都改变了他们的样式以禁用样式。我需要Elemnet保持原始的Stayl

   

function EnableDragAndDrop(cBox) {
    $("#divDoB").draggable({ disabled: cBox.checked });
    $("#divNationalNo").draggable({ disabled: cBox.checked });
    $("#divSex").draggable({ disabled: cBox.checked });
    $("#divPlaceOfBirth").draggable({ disabled: cBox.checked });
    $("#divIssueDate").draggable({ disabled: cBox.checked });
    $("#divMotherName").draggable({ disabled: cBox.checked });
    $("#divExpDate").draggable({ disabled: cBox.checked });
    $("#divAuthority").draggable({ disabled: cBox.checked });
   $("#divPassportHolderName").draggable({ disabled: cBox.checked });

}

2 个答案:

答案 0 :(得分:2)

如果你只是给同一个<div>元素,而不是使用ID,就像class="draggable"一样,你可以让这个更多更短,如下所示:

function EnableDragAndDrop(cBox) {
  $(".draggable").draggable(cBox.checked ? "disable" : "enable");
}
$(function() {
  $(".draggable").draggable({ containment: '#divDragArea', scroll: false });
});

而不是{disable: boolean}您需要调用"enable""disable"方法,这取决于是否选中此框。作为旁注,您可以在单个$(function() { });包装器中放置任意多个,每个语句不需要一个:)

答案 1 :(得分:0)

谢谢大家 我找到了解决方案 你打电话的时候 $(“#divDoB”)。draggable({disabled:true}); JQuery插入一个Css类,将不透明度设置为.35 并使Item看起来处于禁用模式 所以要保持相同的外观并在两种模式下启用和禁用 我只是将元素不透明度设置为1
谢谢每一个人:)