jQuery의 공식 설명에 따르면 라이브 방식은 1.7에서 더 이상 권장되지 않으며, 이 방식은 1.9에서 삭제되었습니다. 그리고 향후 코드에서는 대신 on 메소드를 사용하는 것이 좋습니다.
on 메소드는 event이름, 트리거 선택기, 이벤트 함수라는 세 가지 매개변수를 받을 수 있습니다.
특별히 주의해야 할 점은 on 메소드 중간에 있는 트리거 선택기가 추가하려는 HTML 요소의 클래스 이름, ID 또는 요소 이름을 사용하여 라이브 효과를 얻는 것입니다.
예를 들어, 내 html 문서에 ID가 부모인 p가 이미 있습니다. 이 p 안에 son 클래스가 포함된 범위를 동적으로 추가한 다음 이 범위에 이벤트를 바인딩합니다. 다음과 같이 작성해야 합니다:
$('#parent').on('click','.son',function(){alert('test')});
이 트리거 선택기는 실제로 JQ 내에서 이벤트 매개변수를 결정하는 $(e.target).is(selector)입니다. 트리거 개체와 일치하는 트리거만 트리거됩니다. . 이는 이벤트 버블링 메커니즘을 사용하여 수행됩니다. 원래 라이브도 버블링 메커니즘을 사용하므로 on을 구현할 수 있으므로 1.7에서 1.9까지 살아남은 것은 라이브가 존재할 필요가 없습니다.
이 기사에는 내용이 많지 않습니다. 이 기능을 사용하여 의미 있는 작업을 수행해 보겠습니다. IE 하위 버전에서는 마우스를 눌렀을 때 A 태그에 점선 테두리가 표시됩니다. 글로벌 이벤트에서 뭔가를 한다면 이 문제를 해결할 수 있습니다. 포커스는 최신 브라우저에서는 버블링되지 않지만 이전 브라우저에서는 버블링될 수 있습니다. 따라서 하위 버전의 브라우저에서는 라이브 포커스를 사용하는 것이 효과적입니다. jQuery 1.9 이전 버전에서는 다음과 같이 작성할 수 있습니다.
$("a").live("focus",function(){ this.blur(); });
jQuery 1.9 이후에는 live가 삭제되었으므로 다음과 같이 작성해야 합니다.
$(document).on("focus","a",function(){ this.blur(); });
변경할 경우 주의해야 할 문제도 있습니다. 라이브 작성 방법에서 작성 시 호출 체인을 조정하는 것을 잊지 마세요. live의 반환 값은 이벤트에 의해 트리거된 개체이고 on을 사용하는 것은 컨테이너 개체에 있기 때문입니다.
//jQuery1.9-$("#panel").find("p").live("click",function(){ alert("x"); }).addClass("x");//jQuery1.9+$("#panel").on("click","p",function(){ alert("x"); }).find("p").addClass("x");
마지막에 있는 find("p")에 주의하세요. 그렇지 않으면 문제가 없습니다.
위 내용은 jQuery 1.9 이상 버전에서 라이브가 삭제된 후 대체 방법에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!