在这个小提琴中 - http://jsfiddle.net/adrianjsfiddlenetuser/zyUkd/35/我试图在单击“删除可拖动”按钮时删除所有以 .myDivs 为样式的 div 的可拖动功能。
函数调用 $('.myDivs').draggable('disable');
似乎没有实现这一点?
在这个小提琴中 - http://jsfiddle.net/adrianjsfiddlenetuser/zyUkd/35/我试图在单击“删除可拖动”按钮时删除所有以 .myDivs 为样式的 div 的可拖动功能。
函数调用 $('.myDivs').draggable('disable');
似乎没有实现这一点?
首先,您的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/
问题是
$("#button").click(get);
不在正确的位置,它必须在 onload 事件处理程序中。因此,您的代码必须如下所示:
$(function() {
$( ".connected" ).sortable({
connectWith : ".connected",
items : ".myDivs:not(.excludeThisCss)"
}).disableSelection();
$("#button").click(get);
});
function get() {
$('.myDivs').draggable('disable');
}
$(function() {
$( ".connected" ).sortable({
connectWith : ".connected",
items : ".myDivs:not(.excludeThisCss)"
}).disableSelection();
$("#button").click(function(){
$( ".connected" ).sortable( "option", "disabled", true );
});
});