내 페이지에 여러 개의 div가 있으며 페이지에 동적으로 추가 할 수 있으며 제거 할 수도 있습니다. 페이지로드동적으로 생성 된 div에 JS를 적용 하시겠습니까?
는 동적으로 생성 된 div의는 uniqiue ID 년대와 사업부에 따라 일반적인 클래스와 localStorage
에서로드, 나는 그와 함께 content()
을 함수를 호출합니다.
기능 content()
는 다음과 같습니다
function content(){
alert("test");
$(".two button").click(function(){
var id = $(this).parent().attr("id");
alert(id);
});
}
은 매우 간단, 그것은이하는 모든 함수가 호출 될 "테스트", 경고이며 .two
<button>
을 클릭하면, 그것은 .two
<textarea>
.val()
을 알려줍니다.
사업부의의가로드 된 후이 잘 작동하지만 내가 사업부의의를 복제 할 때 사업부의이
, 그것은 그들에게 고유 ID 이상과 같은 일반적인 클래스를 제공 복제 할 때 문제로 실행합니다. cloneDiv()
끝에서 content()
으로 전화하여 내부 요소를 클릭하면 위와 같은 결과가 나타납니다.
문제는,이 함수는 화면에 DIV의의가있는만큼 여러 번 전화뿐만 아니라 DIV .two
에 <button>
에 클릭하면 .two
<textarea>
.val()
세 번을 알려드립니다 것을 의미한다 얻을 것이다.
TLDR; .two
에있는 버튼을 클릭하면 동적 div가 만들어지면 함수가 호출되기 때문에 div가 화면에 표시되는 횟수만큼 호출되지만 get은 한 번만 호출해야합니다.
이 모든 작업을 수행하는 데는 많은 코드가 있지만, 나는 분명히 어떤 일이 일어 났는지 설명했다고 생각합니다. 그러나 그것이 더 도움이된다면 나는 데모를 채찍질 할 것이다.
$('body').on('click', '.two button', function(){
var id = $(this).parent().attr("id");
alert(id);
});
내가이 버튼의 실제 컨테이너에 그의 'body'
부분을 변경합니다 :