2

在这个小提琴中 - http://jsfiddle.net/adrianjsfiddlenetuser/zyUkd/35/我试图在单击“删除可拖动”按钮时删除所有以 .myDivs 为样式的 div 的可拖动功能。

函数调用 $('.myDivs').draggable('disable'); 似乎没有实现这一点?

4

3 回答 3

2

首先,您的click处理程序是由一个$(document).ready()函数组成的,这意味着即使 DOM 没有完全加载,它也可以附加。然后,您没有使元素可拖动,draggable而是使用sortable,因此您应该使用$(elements).sortable('disable')

$(document).ready(function() {
    var els = $('.connected');
    els.sortable({
        connectWith : ".connected",
        items       : ".myDivs:not(.excludeThisCss)"
    }).disableSelection();

    $("#button").click(get);

    function get() {
        els.sortable('disable'); 
    }
});

您在此处更新的 JSFiddle:http: //jsfiddle.net/zyUkd/38/

于 2012-05-30T10:46:09.370 回答
0

问题是

$("#button").click(get);

不在正确的位置,它必须在 onload 事件处理程序中。因此,您的代码必须如下所示:

$(function() {
    $( ".connected" ).sortable({
        connectWith : ".connected",
        items       : ".myDivs:not(.excludeThisCss)"
    }).disableSelection();

    $("#button").click(get);
});


 function get() {
    $('.myDivs').draggable('disable'); 
}
于 2012-05-30T10:41:26.687 回答
0
$(function() {
    $( ".connected" ).sortable({
        connectWith : ".connected",        
        items       : ".myDivs:not(.excludeThisCss)"
    }).disableSelection();

   $("#button").click(function(){
   $( ".connected" ).sortable( "option", "disabled", true );
    });

});
于 2012-05-30T11:04:19.063 回答