2015-05-21 23 views
1

我有一個可拖動的畫布。我需要在包含畫布的div外面放置一個處理程序。如何將jQuery UI可拖動處理程序放置在拖動元素之外?

這是一個帆布代碼:

<canvas width="700" height="500" class="ui-draggable" style="width: 450px; top: 257px; left: 200px;"></canvas> 
+0

你可以更具體一些,並提供一些代碼?在缺乏信息的情況下幫助你真的很難... –

+0

+0

你可以看看[this](http://stackoverflow.com/a/5744492/4202224)的答案。在可拖動的控件中初始化的元素之外的句柄是不可能的。有關詳細信息,請參閱[文檔](http://api.jqueryui.com/draggable/#option-handle)。 – empiric

回答

0

有一個選擇handle

類型:選擇或元素
默認值:false
排序範圍限制開始 點擊指定的元素。

代碼示例:
初始化排序與指定的句柄選項:

$(".selector").sortable({ 
    handle: ".handle" 
}); 

見我JSFiddle一個活生生的例子。 元素只能由我定義和創建的橙色手柄拖動。

這是使用句柄的所有jQuery UI方法的情況。

+0

1.他談論的是'draggable''''' sortable',2.從jQuery-UI文檔中:'只有從可拖動元素下降的元素才被允許',所以他要求元素應該放在容器之外不能滿足 – empiric

+0

我知道,但不管方法如何,所有手柄都是相同的。無論如何它也不一定是元素的後代。這並不意味着它必須*身體上*成爲屏幕上的後代。您只需將z-index設置爲高於父級,並使用css定位元素。 –

+0

@empiric參見http://jsfiddle.net/Panomosh/aezujdth/1/這些句柄是HTML中「li」的子句,但這並不意味着他們必須在頁面上看起來那樣。 –