2012-08-16 2 views
0

jQuery를 사용하여 객체를 복제 할 때 선택 인 경우 'onchange'이벤트가 'onclick'으로 변경됩니다. jQuery로 모든 속성과 이벤트를 유지하는 요소를 어떻게 복제합니까? .clone (true)가 이미 사용되었습니다. 여기 jQuery .clone이 onclick으로 변경됩니다.

은 JS 코드입니다 :

function addNovoPasseio (obj){ 
    newobj=$(".passeios").clone(true); 
    $(newobj).find("*").removeAttr('id'); 
    $(newobj).insertBefore("#addPasseio"); 
} 

그리고 여기에 내가 복제 할 노력하고있어 HTML 코드 : 다음과 같이 복제

<div class="passeios"> 
    <div class="select-cidade"> 
     <label for="cidade">Cidade</label> 
     <select name="cidade" id="cidade" onchange="getBairros(this,$(this).parent().next().find('select'));" class="select-obr"> 
      <option value="-1">&nbsp;</option> 
      <option>Cidades</option> 
     </select> 
    </div> 
</div> 
<div class="botoeira" id="addPasseio"><button onclick="addNovoPasseio(this);">New</button></div> 
+0

이벤트가 변경된다고 생각하는 이유는 무엇입니까? – j08691

답변

-1

시도를 :

.clone(true, true) 

요소에 바인딩 된 이벤트를 항상 확인할 수 있습니다.

$('selector').data('events') 
+1

'.data ('events')'가 1.8에서 제거되었으므로, 내부적이므로 사용하지 말았어야합니다. – Esailija

+1

$ ('selector'). data ('events')는 인라인 추가 된 이벤트를 등록하지 않습니다. – Nope

+2

문서에 따르면'.clone (true)'는'.clone (true, true)'와 같습니다. * "기본적으로이 값은 첫 번째 인수의 값"*과 일치합니다. –

0

일반 복제품 이외에도 깊은 사본과 같은 것을 찾는 것처럼 보입니다. 에서

다운로드에게 deepCopy.js : http://oranlooney.com/deep-copy-javascript/

그런 다음 당신은 다음과 같이 정확한 복사본을 만들 수 있습니다이 도움이

var myCopiedItem = owl.deepCopy(myItem) 

희망을!

관련 문제