Alert(" 이제 이 사이트를 종료합니다.");
return true
}
$(document).ready( function() {
$('a').live( '클릭 ', SpecialAlert );
$('a').live( 'click', someOtherFunction )
})
// 다른 곳에서는 첫 번째 바인딩만 해제할 수 있습니다
$ ('a').die( '클릭', SpecialAlert )
.die() 관련 질문
이러한 함수를 사용할 때 .die() 메서드에는 단점이 있습니다. .live() 메소드에 사용된 요소 선택기만 사용할 수 있습니다. 예를 들어
$(document).ready( function() {
$('a').live( 'click', function() {
alert(" 이제 이 사이트를 떠나고 있습니다.");
return true;
})
// 그런 다음 특정 요소를 선택할 수 있으면 좋을 것입니다
// 바인딩을 해제하지만 아무 작업도 수행하지 않습니다
$('a.no-alert').die();
.die() 이벤트는 대상 선택이 일치하는 것처럼 보이며 .live() 바인딩이 출시되었지만 실제로 $('a.no-alert')에는 바인딩이 없으므로 jquery는 이를 제거할 바인딩을 찾을 수 없으며 작동하지 않습니다.
더 나쁜 것은 다음과 같습니다.
$( document).ready( function() {
$('a,form').live( 'click', function() {
alert("다른 페이지로 이동합니다.") ;
true;
});
// 둘 다 작동하지 않습니다.
$('form ').die ();// 이것만 작동합니다
$('a,form').die()
.die() 수정 방법
다음 글에서는 이전 버전과 호환되는 무드 동작을 제공할 수 있는 .die()를 실행하는 새로운 방법을 제안하겠습니다. 시간이 있으면 jQuery 핵심 개발 팀이 내 제안을 받아들이고 다음 릴리스에서 수정하도록 제안할 것입니다. 선택적 컨텍스트 매개변수를 포함하여 방금 작성한 메서드를 더 많이 사용하여 사용자 정의 노드를 연결할 수 있기를 바랍니다. 이벤트이며 루트 노드가 아닙니다.
더 많은 정보와 예제를 원하시면 jQuery .live()
및
.die()
문서를 확인하세요.
또한 .delegate() 및 .undelegate()
는 .live() 및 .die()를 대체할 수 있으며 밀접하게 관련되어 있습니다.