在这个小提琴中 - http://jsfiddle.net/adrianjsfiddlenetuser/zyUkd/35/当我点击“删除可拖动”按钮时,我试图删除使用.myDivs设置样式的所有div的可拖动功能。
函数调用$('.myDivs').draggable('disable');
似乎没有达到这个目的?
答案 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 );
});
});