jquery에는 자동으로 추가된 DOM 개체를 바인딩하는 데 사용할 수 있는 두 가지 메서드가 있습니다. 실제로 이 두 메서드는 고정 DOM 개체를 처리할 때 일반적으로 바인딩 메서드를 사용합니다. 충분하지만 객체에 의해 동적으로 생성된 DOM 객체의 경우 바인드를 사용하여 수행할 수 있는 작업이 없습니다. 이때 라이브 및 위임이 작동합니다. 하하.
라이브 메소드는 특정 객체(특정 유형)를 바인딩하고 해당 객체에 메소드를 바인딩하는 데 사용됩니다.
다음과 같이 코드 코드를 복사합니다.
//살다
$("td").live("클릭", 함수 () {
경고($(this).html());
});
//다음도 가능합니다$("#list td").live("click", function () {
경고($(this).html());
});
대리자 메서드는 특정(특정 유형) 개체 아래에 하위 개체를 바인딩하고 하위 개체에 메서드를 바인딩하는 데 사용됩니다(하위 개체가 특정 메서드를 갖도록 하위 개체를 위임합니다, 하하).
다음과 같이 코드 코드를 복사합니다.
$("#list").delegate("td", "클릭", 함수 () {
경고($(this).html());
});
아래 DEMO의 완성된 코드는 다음과 같습니다.
다음과 같이 코드 코드를 복사합니다.
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<머리>
<meta charset="utf-8" />
<제목></제목>
<script src="jquery.js" type="text/javascript"></script>
<script id="listTemplate" type="text/html">
<tr>
<td>[사용자ID]</td>
<td>[사용자 이미지]</td>
<td>[사용자 이름]</td>
</tr>
</script>
<스크립트 유형="텍스트/자바스크립트">
var reg = new RegExp("//[([^//[//]]*?)//]", 'igm'); //igm은 각각 대소문자 구분 일치 및 전역 일치 지정을 나타냅니다. 여러 줄과 일치합니다. .
$(함수 () {
//살다
$("#list td").live("클릭", 함수 () {
경고($(this).html());
});
$("#addFun").click(함수 () {
var html = document.getElementById("listTemplate").innerHTML;
var source = html.replace(reg, function (node, key) { return { 'UserImg': '1', 'UserName': 'zhang', 'UserID': '1' }[key]; });
$("#list").append(source);
});
});
</script>
</head>
<본문>
<div id="comment_ul_2">
</div>
<input type="button" id="addFun" value="클릭하세요" />
<테이블 ID="목록">
<본체>
</tbody>
</table>
</body>
</html>