我正在使用这个具有拖放功能的插件网格系统: https://github.com/McPants/jquery.shapeshift。
您可以调用shapeshift函数并将参数传递给它以启用和禁用拖放功能。
$(".container").shapeshift({
enableDrag: true,
});
我希望能够打开和关闭此功能。我用了这段代码:
var dragState = 0;
$(".switch").on("click", function() {
if(dragState == 0) {
options = {
enableDrag: true,
}
dragState = 1;
} else {
options = {
enableDrag: false,
}
dragState = 0;
}
$(".container").shapeshift(options);
});
当我运行此代码时,我可以打开拖放但不会再次退回。
有没有人对此插件有任何建议或经验?
答案 0 :(得分:3)
使用http://mcpants.github.io/jquery.shapeshift/作为参考。
基本上你需要做的就是:
$(function(){
var sso = {
minColumns: 3,
enableDrag: false
};
var ss = $(".container").shapeshift(sso);
$('button').click(function () {
sso.enableDrag = true;
ss.trigger('ss-destroy');
ss.shapeshift(sso);
});
});
我简化了示例,以显示在这个小提琴中需要做什么:
http://jsfiddle.net/carisch19/hDm4e/2/
添加了启用和禁用按钮:
答案 1 :(得分:0)
很抱歉回答这么老的问题,但我刚刚通过shapeshift.js并明白,为了禁用拖放,我们可以销毁它,但不是很长时间,并且没有必要把它变为变量。
希望您对此简短的方式感兴趣并更新您的代码。
以下是代码
$('div').trigger("ss-destroy");
根据我的说法,上面的代码足以破坏,也是一种非常干净方便的方式。
尝试一次!