調用start阻力在jQuery UI的我可以一個元素配置爲可拖動通過調用jQuery UI的,手動
$("#drag").draggable();
但有一個開始,並從另一個功能手動停止拖動功能呢?即
someOtherFunction = function() {
$("#drag").startdrag();
}
yetAnotherFunction = function() {
$("#drag").stopdrag();
}
調用start阻力在jQuery UI的我可以一個元素配置爲可拖動通過調用jQuery UI的,手動
$("#drag").draggable();
但有一個開始,並從另一個功能手動停止拖動功能呢?即
someOtherFunction = function() {
$("#drag").startdrag();
}
yetAnotherFunction = function() {
$("#drag").stopdrag();
}
上面的答案似乎過於複雜。
$('.nonDraggableObjectWhichTriggersDrag').mousedown(function(e) {
$('.draggableObject').trigger(e);
});
通過查看鼠標事件的腳本啓動拖動啓動。向下鼠標,然後鼠標移動。如果你可以通過Javascript模擬這些鼠標移動(我不知道在哪裏,如何,甚至是否可能),那麼它應該開始拖動。
注意:只是發現YUI有一種方法來模擬鼠標移動和鼠標點擊。退房http://developer.yahoo.com/yui/yuitest/#useractions
這聽起來太複雜了。也許這會更容易與其他圖書館完成,然後呢?也許prototype.js或類似的東西? – Jan 2009-04-08 19:51:04
停止拖你只需要在拖動回調返回false,像這樣:
$("#unlock-handle").draggable({axis:'x', containment:'parent', drag:onDrag});
...
var onDrag = function(e) {
if ($(this).position().left > 200) return false;
};
希望它可以幫助:-)
我沒有找到一個方法來觸發手動拖動,但我找到了解決類似情況的解決方法。
我有這種情況與兩個重疊的圖像(見下圖),都是部分透明的。在draggable的開始(事件)中,我想檢查它是否打到透明像素。如果是這樣的話,我會在另一個元素下面查看它是否被擊中。如果是這樣,我想開始拖延。
解決方案?我在mousemove上重新排序圖像,然後拖動該頂層圖像。
像素精確的元素選擇,看到我在另一個答案:registering clicks on an element that is under another element
也許你感興趣的scrollTo,因爲我不敢相信拖動可以移動的物體,而不鼠標交互? – TStamper 2009-04-08 15:08:44
我從來沒有說過我不想使用鼠標。我必須調用div外部的拖動,因爲它應該使用FScommand從Flash文件中啓動。 – Jan 2009-04-08 19:42:03