jQuery에서 미래 요소에 대한 귀속 이벤트

2803 단어 jquery
미래의 원소 귀속 이벤트에bind를 사용할 수 없음,
1. 라이브로 대체할 수 있지만 jquery의 버전에 주의해야 한다. 공식 문서에 따르면 1.7부터 라이브와delegate를 추천하지 않고 1.9에서 라이브를 제거한다.
2. 온으로 대체하는 것을 추천합니다(주:1.7 및 이상의 버전만 지원).사용법:on(events,[selector],[data],fn)
//  $(function(){})    

$(document).on("click", "#testDiv", function(){

//   $(this) $( "#testDiv"),  $(document)

});

3. 모든 일치하는 요소의 특정 이벤트(예를 들어 클릭)에 일회용 이벤트 처리 함수를 연결하고 싶을 때 사용한다.on()이 on을 대체하면 됩니다. 모든 [selector]에서 한 번 실행할 수 있는 것이 아니라 이 [select]에서 모두 한 번만 실행할 수 있으니 미래의 요소에도 효과가 있습니다.
4. 만약에 어느 div에 세 개의 단추를 추가하고 수정하려면 귀속 이벤트가 필요합니다. 다음과 같이 쓰십시오.
$('#btn-add').click(function(){});

$('#btn-del').click(function(){});

$('#btn-edit').click(function(){});

이렇게 쓴 나쁜 점은 삼자의 구조적 연관성을 알 수 없고 사건을 이용하지 않았다는 점이다.
Coffee DeveloperjQuery 이벤트에 대한 생각가 추천하는 방법을 보세요. 이렇게 적혀 있습니다.
$("#btnContainer").coffee({

  click: {

           "#btn-add":  function(){ //do something },

           "#btn-del":   function(){ //do something },

            "#btn-edit": function(){ //do something }

   } ,

   mouseenter:{

             "#btn-abc":  function(){ //do something }, 

   }

});        

이렇게 쓰는 것이 훨씬 보기 좋지 않습니까? (.coffee () 는 사용자 정의 함수입니다. 당신은 스스로 이 함수를 쓸 수 있습니까?)다만 귀속된function이 길면 코드가 흐트러진 것 같아서 댓글에
$('#btnContainer')

 .on('click','#btn-add', function(){})

 .on('click','#btn-del', function(){})

 .on('click','#btn-edit',function(){});    

이런 작법도 위에서 언급한 두 가지 나쁜 점을 피하여 보기에 어지럽지 않다.

좋은 웹페이지 즐겨찾기