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
$(function() {
    $( ".connected" ).sortable({
        connectWith : ".connected",        
        items       : ".myDivs:not(.excludeThisCss)"
    }).disableSelection();

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

});
于 2012-05-30T11:04:19.063 に答える
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 に答える