여러 요소를 선택하고 드래그하는 스크립트가 있습니다. 그것은 잘 작동하지만 그 기능에 또 다른 새로운 요소를 추가하려면 DOM에 추가하면 작동하지 않습니다. 이 기능은 다음과 같습니다DOM에 추가 된 jQuery 새 요소가 작동하지 않습니다.
$(function() {
var selected = $([]), offset = {top:0, left:0};
$("#selectable1").selectable();
$("#selectable1 span").draggable({
start: function(ev, ui) {
$(this).is(".ui-selected") || $(".ui-selected").removeClass("ui-selected");
$("span").removeClass("cica"); // ads class Cica to the draged/selected element
$(this).addClass("cica");
selected = $(".ui-selected").each(function() {
var el = $(this);
el.data("offset", el.offset());
$(this).text("Selected and dragging object(s)");
});
offset = $(this).offset();
},
drag: function(ev, ui) {
var dt = ui.position.top - offset.top, dl = ui.position.left - offset.left;
selected.not(this).each(function() {
var el = $(this), off = el.data("offset");
el.css({top: off.top + dt, left: off.left + dl});
});
},
stop: function(ev, ui){
$(this).text("Drag has stopped");
}
});
});
새로운 요소는 다음과 같이 추가됩니다
$('<span class="drag">Xia</span>').appendTo('#selectable1');
나는 그것이 작동하지만 난 어디 스크립트를 추가하는 방법 모르는 만들기 위해 라이브 사용할 수 있다는 것을 알고. 클릭, 마우스 오버와 같은 이벤트에 추가하는 방법 만 알고 있습니다.
이 도움말에 대한 의견이 있으면 알려주십시오.
는
뾰족한는,이 회선에 자동 구문 오류 : $ (이) .find를 ('기간 :하지 (.dragReady)') 나는 그것을 수정하고 그것이 – Mircea
을하려고 줄 수 있다면 내가 내가 볼 꼬리표 "i"를 제거하십시오 - 그것은 오타입니다 :-) 그 점에 대해 미안합니다; 나는 대답을 편집 할 것이다. – Pointy
네, 코드 작성을 완료했습니다. 새로운 요소를 드래그 가능하게 만들지 만 함수 자체를 죽입니다. 즉,이 기능은 동시에 요소를 선택 가능하고 드래그 가능하게 만드는 것을 의미합니다. 아마 당신의 솔루션을 제대로 구현하지 못했을 것입니다. 나는 이것에 대해 좀 더 살펴볼 필요가있다. – Mircea