EDIT: Oto link, aby pokazać mój przykładowy kod: http://www.singingeels.com/jqtest/jQuery: Jak mogę symulować przeciąganie i upuszczanie w kodzie?
Mam bardzo prostą stronę, która odwołuje jQuery 1.3.2.js, ui.core.js (najnowsza wersja) i ui.draggable.js (także najnowsza wersja).
Mam div, że mogę przeciągnąć wokół bardzo łatwo (za pomocą myszki, oczywiście):
<div id="myDiv">hello</div>
, a następnie w javascript:
$("#myDiv").draggable();
Jest to działa idealnie. Ale muszę mieć możliwość symulowania "przeciągnij i upuść" za pomocą samego kodu. Mam go głównie działa, ale problem polega na tym, że zdarzenia, które są zwalniane, są obiektami zastępczymi.
Jeśli otworzysz „ui.core.js” i przewiń do dołu ... zobaczysz to:
// These are placeholder methods, to be overriden by extending plugin
_mouseStart: function(event) { },
_mouseDrag: function(event) { },
_mouseStop: function(event) { },
_mouseCapture: function(event) { return true; }
Dlaczego nie są wydarzenia zostanie przedłużone prawidłowo w mojej symulacji, ale gdy klikasz myszką, prawda? - Jakieś pomysły dotyczące wymuszania właściwości _mouseDrag: w celu wypełnienia nadpisującego rozszerzenia w "ui.draggable.js"?
Rozwiązanie tego byłoby ogromne - i zamierzam pokazać główne korzyści później.
Dzięki, -Timothy
EDIT: Oto link, aby pokazać mój przykładowy kod: http://www.singingeels.com/jqtest/
EDIT 2: Kliknij ten link powyżej i po wyświetleniu źródła ... zobaczysz co ja próbuję to zrobić. Oto urywek:
$(document).ready(function() {
var myDiv = $("#myDiv");
myDiv.draggable();
// This will set enough properties to simulate valid mouse options.
$.ui.mouse.options = $.ui.mouse.defaults;
var divOffset = myDiv.offset();
// This will simulate clicking down on the div - works mostly.
$.ui.mouse._mouseDown({
target: myDiv,
pageX: divOffset.left,
pageY: divOffset.top,
which: 1,
preventDefault: function() { }
});
});
Czy możesz pokazać nam swój kod? Powiedz nam, co nie działa i jak możesz oczekiwać, że zadziała. – SolutionYogi
Dlaczego nie używasz wszystkich JQueryUI jako jednego pliku? – Sneakyness
Postaram się podać przykład kodu ... powodem oddzielenia rzeczy interfejsu jest tylko debugowanie. –