5

Tôi đang cố gắng triển khai jQuery Draggable | Droppable | Sắp xếp giữa khung cha và con. Tôi có một nguyên mẫu này, nhưng có một số hành vi kỳ lạ xảy raJquery Sắp xếp và Kéo được giữa khung cha và khung con

win = document.getElementById('frame').contentWindow; 

element = win.document.getElementById('sortable'); 
$(element).sortable(); 
console.log(element); 
$("#draggable").draggable({ 
     connectToSortable: $(element), 
    iframefix: true, 
    helper: function() {return $("<div/>").css('background-color','red');} 
}); 

Trang iframe cũng chứa

$("#sortable").sortable(); 

Đây là jsfiddle http://jsfiddle.net/vxAzs/5/

Nó hoạt động tốt khi tôi cố gắng để thả yếu tố trên iframe nhưng khi tôi cố gắng sắp xếp các phần tử trên khung nội tuyến thì phần tử này sẽ dính vào sự kiện nhấp của cả hai trang mà tôi nghĩ (vì vậy nó không bị xóa cho đến khi tôi nhấp vào cả bố cục và iframe). Tôi nghĩ rằng đó là một cái gì đó để làm với cuộc gọi .sortable() trong cả cha lẫn mẹ và iframe nhưng nếu tôi loại bỏ rằng droppable ngừng hoạt động.

Trả lời

3

ok, đây là cách tôi đang làm điều này .. Để tạo Kéo trên một phần tử từ khung chính và thả nó vào danh sách có thể sắp xếp trong iframe, Tôi đã tạo hình thu nhỏ trên phần tử của khung chính từ bên trong iframe

win = document.getElementById('<identifier for Iframe>').contentWindow; 
win.jQuery(dragelement,parent.document).draggable({ 
connectToSortable : $("#sortable") 
)} 

Làm việc như một sự quyến rũ!

+0

nó đang cho tôi lỗi này .. Loại lỗi không hợp lệ: Đối tượng [đối tượng toàn cầu] không có phương thức 'jQuery'. Xin hãy giúp tôi cách bạn giải quyết vấn đề này. – vaibought

+0

bạn cần phải bao gồm jQuery trên cả hai khung cha và con ... –

+0

jquery được thêm vào cả hai bên. Tôi đang sử dụng jquery 1.8. – vaibought

0

comment dòng này trong mã của bạn,

//$(element).sortable({iframefix:true}); 

đây là fiddle: link

+1

nếu tôi làm điều đó thì phần tử không được kết nối với danh sách có thể sắp xếp –

0

iframeFix là trường hợp nhạy cảm: Thay đổi

iframefix: true, 

để

iframeFix: true, 
Các vấn đề liên quan