IT

.live가 더 이상 사용되지 않으므로 향후 요소에 대한 jQuery.on 함수

itgroup 2023. 9. 20. 20:16
반응형

.live가 더 이상 사용되지 않으므로 향후 요소에 대한 jQuery.on 함수

처리자를 추가해야 합니다.click미래의 사건<div>아직 존재하지 않는 요소들입니다.보통은 jQuery's를 사용합니다..live이것을 처리하기 위한 기능을 하지만, 그것은 이제 더 이상 사용되지 않는 것 같습니다..on.

사용방법.on이런 방식으로 jQuery는 위임된 이벤트를 생성할 수 있도록 셀렉터 매개변수를 설정할 것을 제안하고 다음 예시 코드를 제공합니다.

$("#dataTable tbody").on("click", "tr", function(event){
    alert($(this).text());
});

괜찮아요, 좋아요 하지만 제가 처음 선택할 때는 뭘 넣어야 하죠, 그들이 가지고 있는 곳에#dataTable tbody? 참고:$.on()안 돼요.

jQuery의 문서에 의하면 당신은 대체할 것입니다.

$(selector).live(event, handler) 

와 함께

$(document).on(event, selector, handler)

또한 보다 정확하게 교체할 수 있는 옵션이 있습니다.$(document)요소의 정적 부모에 대한 선택기를 사용합니다.예를 들어, 정적인 경우table요소와tr요소는 DOM에 동적으로 추가되므로 다음과 같은 작업을 수행할 수 있습니다.$('table#id').on('click', 'tr', ...)

http://api.jquery.com/live/

이 질문을 올리자마자 바로 알아냈어요죄송합니다.

초기 선택기는 임의의 상위 요소일 수 있습니다.나의 요소들은 몸의 직접적인 자식들이 될 것이기 때문에, 나는 사용할 수 있습니다.body셀렉터의 경우:

$('body').on('click', '.my_class', function(event) { ...

이것은 이벤트가 거품이 일 것이기 때문에 효과가 있습니다.이것은 기본적으로 일반적인 버블링이며 추가 필터가 있습니다..my_class.

언급URL : https://stackoverflow.com/questions/8191064/jquery-on-function-for-future-elements-as-live-is-deprecated

반응형