var cell = $(e.target); // e.target은 이벤트를 트리거한 노드를 가져옵니다.
cell.addClass('selected');
}).bind('blur', function(e){
var cell = $(e.target);
cell.removeClass('selected' );
})
부모 요소는 대상 요소를 기반으로 이벤트를 바인딩할 수 있는 디스패처 역할을 합니다. 동일한 이벤트 리스너를 여러 요소에 바인딩했다면 뭔가 잘못된 것입니다.
8 .잘못된 쿼리 제거
jquery는 일치하는 요소가 없는 상황을 매우 우아하게 처리할 수 있지만 전체 사이트에 대해 하나의 전역 js만 있는 경우 모든 jquery 기능이 검색될 가능성이 매우 높습니다. $ (document)ready(function(){//자랑스러운 모든 코드})
페이지에 사용된 함수만 실행하는 것이 가장 효과적인 방법은 인라인 초기화 함수를 사용하는 것입니다. 템플릿은 js가 실행되어야 하는 시기와 위치를 정확하게 제어할 수 있습니다.
예를 들어 "기사" 페이지 템플릿에서 본문 끝에 다음 코드를 인용할 수 있습니다.
전역 js 라이브러리는 다음과 같습니다.
코드는 다음과 같습니다.
var mylib =
{
article_page :
{
init : function( )
{
// 기사별 jQuery 함수
}
},
traffic_light :
{
init : function()
{
/ / 신호등의 고유한 jQuery 기능
}
}
}
9. 개발자를 위한 $(window).load
jquery를 따릅니다. 매우 흥미로운 점이 있습니다. $(document).ready 아래에 무엇이든 걸어 이벤트인 척할 수 있습니다.
그러나 $(document).rady는 실제로 그렇습니다. 매우 유용합니다. 페이지가 렌더링될 때 다른 요소가 다운로드되기 전에 실행될 수 있습니다. 페이지가 항상 로드되는 경우 $(document).ready 함수로 인해 발생할 가능성이 높습니다. jquery 함수를 $(window).load 이벤트에 바인딩하여 페이지를 로드할 때 CPU 사용량을 줄일 수 있습니다. 이는 모든 HTML(