일부 요소를 제거하기 위해 .remove()
을 사용하면 jQuery에서 요소와 관련된 모든 바운드 이벤트 및 jQuery 데이터가 제거됩니다..html()을 사용하여 요소를 제거하면 jQuery의 이벤트 리스너가 자동으로 제거됩니까?
그러나 요소를 .html()
으로 "제거"하면 어떻게됩니까?
메모리 누수를 방지하기 위해 html을 변경하기 전에 모든 요소를 바인딩 해제해야합니까?
일부 요소를 제거하기 위해 .remove()
을 사용하면 jQuery에서 요소와 관련된 모든 바운드 이벤트 및 jQuery 데이터가 제거됩니다..html()을 사용하여 요소를 제거하면 jQuery의 이벤트 리스너가 자동으로 제거됩니까?
그러나 요소를 .html()
으로 "제거"하면 어떻게됩니까?
메모리 누수를 방지하기 위해 html을 변경하기 전에 모든 요소를 바인딩 해제해야합니까?
예, 삭제됩니다. jQuery는 제거 된 요소와 관련된 이벤트 등을 정리합니다. 당신이 (elm2로) .html 중에서 $처럼 뭔가를 할 경우 이벤트를 복사하지 않습니다 ($의 elm2.html()) 그냥 조금 확장하는
그래, html()
을 사용해도 제거됩니다. jQuery source code이이를 확인합니다.
감사합니다. Anurag, 나는 당신이 처음이었고 당신의 대답을 증명하고 있습니다. (+1)하지만 kinghfb는 더 많은 점수를 필요로합니다. 그래서 나는 그의 대답을 동기 부여로 받아 들일 것입니다. 감사 ! – Enrique
문제는 @ Enrique :) – Anurag
어쨌든 소스 코드에 대한 링크로 답을 확인하는 데 필요한 SO 배지가 있어야합니다. :) –