• Q&A
  • 회원가입
  • 로그인

[Event] JQ - delegate() 메서드 - JQ 3.0 폐기예고. / 하위요소(자식요소)에 이벤트핸들러 부착. (= delegate메서드 = 델러게이트 메서드 = 델러깃 메서드)

169  

목차

  1. delegate() 예제 - div안 p 클릭 시, 모든 p 배경색 변경
  2. delegate() 정의
  3. delegate() 구문
  4. delegate() 예제 - 미래요소에 이벤트 적용.
  5. delegate() 예제 - 함수에 추가로 데이터 전달.

 

delegate() 예제 - div안 p 클릭 시, 모든 p 배경색 변경

 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

<script>

$(document).ready(function(){

    $("div").delegate("p", "click",function(){

        $("p").css("background-color", "pink");

    });

});

</script>


<style>

div {background-color:yellow;}

</style>


<div> <p>div안 P요소: 홈짱닷컴 Homzzang.com (클릭)</p></div>

<p>그냥 P요소: 홈짱닷컴 Homzzang.com (클릭)</p>

 

결과보기


delegate() 정의

 

선택 요소의 자식 요소에 하나 이상의 이벤트 핸들러 부착 후, 각 이벤트 때 실행할 내용을 정의.

 


 

1.

jQuery 3.0 - 폐기예고.

 

2.

부착된 이벤트 핸들러는 현재요소 및 미래요소(= 스크립트로 생성한 요소)모두에 대해서 작동함.

 

3.

delegate 뜻 :
(명사) 대표. 대표자 , 

(동사) 위임하다. 대표를 뽑다. 선정하다.

 

 

delegate() 구문

 

$(selector).delegate(childSelector,event,data,function)

 


[예제]

 

childSelector

필수. 이벤트를 부착할 하나 이상의 자식 선택자 지정.

 

event

필수. 자식선택자에 부착할 하나 이상의 이벤트 지정.

※ 각 이벤트는 공백으로 구분해 나열.

※ 각 이벤트는 유효한 이벤트여야 함.

 

data

선택. 함수에 전달할 추가 데이터 지정.

 

function

필수. 이벤트 발생 시 실행함 함수 지정.

 

 

delegate() 예제 - 미래요소에 이벤트 적용.

 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

<script>

$(document).ready(function(){

  $("div").delegate("p", "click", function(){

    $(this).slideToggle();

  });

  $("button").click(function(){

    $("<p>그누보드 서버관리 강의</p>").insertAfter("button");

  });

});

</script>


<div style="background-color:yellow">

  <p>홈짱닷컴 Homzzang.com</p>

  <p>홈페이지 제작관리 강의</p>

  <button>클릭</button>

</div>

 

결과보기

 

delegate() 예제 - 함수에 추가로 데이터 전달.

 

 

 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

<script>

function introHz(e){

  alert(e.data.msg);

}


$(document).ready(function(){

  $("p").delegate({msg: "홈페이지 제작관리 강의"}, "click", introHz)

});

</script>


<p>홈짱닷컴 Homzzang.com</p>

 

결과보기

 


찾아주셔서 감사합니다. Since 2012