3

我有一个div我想让它是否可拖动,这取决于我页面上其他一些东西的状态。我似乎能够轻松地使其可拖动,但我似乎无法弄清楚如何最好地从div.

我通过以下方式使其可拖动:

var dd = Ext.create('Ext.dd.DDProxy', mydiv, 'myDDGroup', { isTarget: false });

然后我尝试通过删除它所属的唯一组来删除可拖动性

dd.removeFromGroup('myDDGroup');

并且只是dd

delete dd;

这些似乎都没有真正阻止我开始拖累元素。我怀疑我应该能够以b4Drag某种方式使用覆盖来简单地div在它开始之前取消我的拖动,而不是切换的可拖动状态div,但我似乎找不到关于如何取消的文档b4Drag通话期间的拖动。

那么,div在我已经使其可拖动之后,我怎样才能使其不可拖动呢?

4

3 回答 3

0

似乎为我工作。

这是JSFiddle http://jsfiddle.net/01gx33h0/

var dd = Ext.create('Ext.dd.DDProxy', 'test123', 'myDDGroup', { isTarget: false });
Ext.fly('btn123').on('click', function() {
  dd.removeFromGroup('myDDGroup');
});

你能给我它不工作的示例代码吗?什么版本的 ExtJs 正在使用?

于 2015-06-03T08:44:49.703 回答
0

你必须取消注册。不是 removeFromGroup。它只是从组中删除。但是该元素上的事件不会被删除。

dd.unreg();

https://fiddle.sencha.com/#fiddle/1eun

于 2016-08-08T09:42:22.517 回答
0

在查看需要拖动的特定内容时,您可能会认为允许拖动是用户所期望的,为了一般易用性,您可以尝试使用ondragstart="return,这可以附加到您的图像或链接中,如下所示:

<a ondragstart="return false" href="#link">link</a>.

于 2017-06-06T16:21:19.380 回答