单击按钮时删除可拖动功能

时间:2012-05-30 10:30:22

标签: javascript jquery

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

函数调用$('.myDivs').draggable('disable');似乎没有达到这个目的?

3 个答案:

答案 0 :(得分: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/

答案 1 :(得分:0)

问题在于

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

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

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

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


 function get() {
    $('.myDivs').draggable('disable'); 
}

答案 2 :(得分:0)

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

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

});