2010-12-12 4 views
2

clone() 메서드를 doubleclick 이벤트에 바인딩하여 클래스의 복사본을 신속하게 만들려고합니다. 내 코드는 지금까지 있습니다 : 나는 그들이 DOM에 추가되면 복제 된 요소는 자신을 복제 할 수 없습니다 제외JQuery : 복제 된 객체로 동작 전달

<style type="text/css"> 
.draggable { float:left; clear: both; } 
</style> 
<script type="text/javascript"> 
$(function() { 
    copyit = function() { 
     $(this).clone().appendTo("body").css('position','absolute').draggable(); 
    } 
    $('.draggable').dblclick(copyit); 
    $('.draggable').draggable(); 
}); 
</script> 

<div class="draggable">Hi There!</div> 
<div class="draggable">What's up?</div> 

모든 것이 작동합니다. 어떤 도움이라도 대단히 감사합니다.

답변

1

.live()

$('.draggable').live("dblclick", copyit); 
+0

$은 ('dblclick ", copyit)를 살; 완벽하게 작동합니다. 도와 주셔서 감사합니다 Pointy 및 RTP Matt. – user531380

2

내 생각 엔 dblclick 이벤트를 새 DOM 노드에 바인딩하지 않는 것입니다. 당신은 dblclick이 같은 라이브 (또는 대리인) 이벤트 할 수

  1. :이 경우 당신은 실제로 당신이 이것을 달성 할 수있는 2 가지 방법이 ('. 드래그') $를 ('dblclick'을 살고있다. 복사); 은 다음을 참조하십시오 $에게 (이) .clone (참) .appendTo ("몸") CSS를 :. http://api.jquery.com/live/ http://api.jquery.com/delegate/

  2. 당신은 클론이 같은 사실 전달하여 객체의 이벤트를 복사 할 수 있습니다 ('position', 'absolute'). draggable(); ('. 드래그'). : 참조 : 더블 클릭 핸들러를 설정 http://api.jquery.com/clone/