EDIT: Dưới đây là một liên kết để cho bạn thấy mẫu mã của tôi: http://www.singingeels.com/jqtest/jQuery: Làm cách nào để mô phỏng Kéo và Thả trong Mã?
Tôi có một trang rất đơn giản mà tham chiếu jquery-1.3.2.js, ui.core.js (phiên bản mới nhất) và ui.draggable.js (cũng là phiên bản mới nhất).
Tôi có một div mà tôi có thể kéo xung quanh rất dễ dàng (bằng cách sử dụng chuột tất nhiên):
<div id="myDiv">hello</div>
và sau đó trong JavaScript:
$("#myDiv").draggable();
Đây là tác phẩm hoàn hảo. Nhưng, tôi cần để có thể mô phỏng một 'kéo và thả' bằng cách sử dụng mã một mình. Tôi có nó chủ yếu là làm việc, nhưng vấn đề là các sự kiện được bắn là sự kiện giữ chỗ.
Nếu bạn mở "ui.core.js" và di chuyển đến phía dưới ... bạn sẽ thấy điều này:
// These are placeholder methods, to be overriden by extending plugin
_mouseStart: function(event) { },
_mouseDrag: function(event) { },
_mouseStop: function(event) { },
_mouseCapture: function(event) { return true; }
Tại sao không phải là sự kiện được mở rộng đúng trong mô phỏng của tôi, nhưng khi bạn bấm xuống bằng chuột, chúng là? - Bất kỳ ý tưởng nào về cách buộc thuộc tính _mouseDrag: thuộc tính tuân theo phần mở rộng ghi đè trong "ui.draggable.js"?
Giải quyết vấn đề này sẽ rất lớn - và tôi dự định sẽ trình bày những lợi ích chính sau này.
Cảm ơn, -Timothy
EDIT: Dưới đây là một liên kết để cho bạn thấy mẫu mã của tôi: http://www.singingeels.com/jqtest/
EDIT 2: Nhấn vào liên kết ở trên và xem mã nguồn ... bạn sẽ thấy những gì tôi đang cố gắng làm. Đây là một đoạn mã:
$(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() { }
});
});
Bạn có thể hiển thị mã cho chúng tôi không? Cho chúng tôi biết những gì không hoạt động và cách bạn mong đợi nó hoạt động. – SolutionYogi
Tại sao bạn không chỉ sử dụng tất cả JQueryUI như một tệp? – Sneakyness
Tôi sẽ cố gắng để đưa ra một mẫu mã ... lý do cho việc tách các công cụ giao diện người dùng chỉ để gỡ lỗi. –