2012-11-11 4 views
1

<tr><table>에 삽입 될 때 발생하는 JavaScript 이벤트가 있습니까?요소 삽입 이벤트

또는 요소가 추가되거나 변경 될 때 요소를 처리하는 함수를 만들 수 있습니까? jQuery live 함수가 특정 부모 요소 내부의 기존 요소와 미래 요소에 대한 클릭 핸들러를 전파 할 수있는 것과 유사합니다.

배경 : 시작시로드 된 다음 테이블을 로컬로 편집하면 (특정 클래스를 추가하거나 제거 할 수 있음) 테이블이 있습니다 (jQuery DataTables). 문제는, 그 내용을 기반으로 각 행에 특정 클래스를 추가하고 싶습니다.

+0

코드를 살펴 보겠습니다. – Sparky

+0

그냥 이벤트 핸들러에 "행 추가"버튼을 연결하지 못했습니까? – toxicate20

+0

@ toxicate20과 동의하지 않으면 매우 나쁜 코드 구조 일뿐입니다. –

답변

3

이 같은 뭔가를 찾고해야합니다

DOMNodeInserted가 : 노드가 다른 노드의 자식으로 추가되었을 때 시작됩니다. 이 이벤트는 삽입이 완료되면 자리에 전달됩니다. 이 이벤트의 대상은 삽입되는 노드입니다. 이런 식으로 뭔가를 갈 것입니다 그것을 사용

:

$("table").addEventListener("DOMNodeInserted", function(event) { 
    alert("something has been inserted"); 
    console.log(event.target) 
}); 

(내가 그것을 테스트하지 않은,하지만 갈 방법이어야 함)

내가 추가 할 만약 당신이 이것을하려고한다면, 당신은 아마도 당신의 코드에 어떤 이상한 점이있을 것입니다. 더 간단한 방법이 있어야합니다. 이벤트를 트리거하는 간단한 addRow(row) 메서드를 사용하고 있을까요?

+0

좋아, 결국 나는'DataTables' 특정 후크를 사용했다.'dataTable'을 만들 때'fnServerData'를 설정하여 내용에 따라 서버에서 검색된 각 행에'DT_rowClass'를 적용합니다. 나중에 로컬 변경을 위해 jQuery를 개별 ''요소에 사용했습니다. – Lou