Closed sgf closed 6 years ago
Hi @sgf, It makes sense to add functionality to disable the drag for an element. I would suggest to create a disable function instead.
Like $('.draggable-element').disableArrangeable();
Also, can you raise pull request for that feature?
ok,i will try to do that.(but thats maybe need some time.im noob for js,aha)
$.fn.disableArrangeable = function(options) {
var dragging = false;
var $clone;
var dragElement;
var originalClientX, originalClientY; // client(X|Y) position before drag starts
var $elements; // list of elements to shift between
var touchDown = false;
var leftOffset, topOffset;
var eventNamespace;
if (typeof options === "string") {
// check if want to destroy drag-arrange
if (options === 'destroy') {
if (this.eq(0).data('drag-arrange-destroy')) {
this.eq(0).data('drag-arrange-destroy')();
}
return this;
}
}
options = $.extend({
"dragEndEvent": "drag.end.arrangeable"
}, options);
var dragEndEvent = options["dragEndEvent"];
$elements = this;
eventNamespace = getOffEventNamespace();
//the Event UnBind
$elements.each(function() {
// bindings to trigger drag on element
var dragSelector = options.dragSelector;
var $this = $(this);
if (dragSelector) {
$this.off(dragEvents.START + eventNamespace, dragSelector);
} else {
$this.off(dragEvents.START + eventNamespace);
}
});
$(document).off(dragEvents.MOVE + eventNamespace)
.off(dragEvents.END + eventNamespace);
// remove data
$elements.eq(0).data('drag-arrange-destroy', null);
// clear variables
$elements = null;
// dragMoveHandler = null;
// dragEndHandler = null;
};
function getOffEventNamespace() {
return '.drag-arrange-' + counter;
}
added the code into the drag-arrange.js
arrangeable this is enable the drag system
how about add arrangedisable to disable the drag system
or add a flag to stop the drag system. like *begindrag() stopdrag() functions to begin and stop(or continue) draging