$('#pub_article').on('click','#winner_sub',function(){}) , $('#mainGood,#mainGoodNav').click(function() {} 차이이
개발 하면서 알게 된 것이다 이것이 백프로 맞다고 장당음 하지 않는다.
$('#pub_article').on('click','#winner_sub',function(){}) ,
- 화면이 구현이 되어 있는 상태에서 선언 되어 있는 아이디 값에 대한 function 이다.
즉 어디에서든 일단 전역으로 JS를 load 한 상태인 경우 전역 ID로 check를 하고 그에 대응 하는 action을 한다.
ID 선언이든 아님 class 등 Jquery 선언한 경우이다.
$('#mainGood,#mainGoodNav').click(function() {} 차이
on click 다르게 .click function은 화면이 뿌려지기 전에 선언이 된것을 의미한다.
즉 화면이 뿌려지는 DOM화면 안에서만 function 작동을 한다. 전역이 아니다. 특정한 단일 페이지에서 사용 하고자 할때 사용해야
화면이 구현 될때 마다 각각의 id에 맞는 특별할 action을 할 수 있다.
페이지 마다 같은 아이디로 선언 하더라도 페이지의 상황에 맞는 별도의 action을 제어 할 수 있다
$('#intro_login,#header_login1,#header_login2,#header_login3,#header_login4,#join3_login').click(function() {
if ( sessionStorage.getItem('backId')==null) {
var idThis=$(this).attr('id');
sessionStorage.setItem('idThis',idThis);
} else {
sessionStorage.removeItem('backId')
}
member.login();
go.backPage();
});
개선
페이지에 따라 로그인 버튼의 아이디 값을 다르게 주엇는데 공통으로 한개의 아이디 값을 주어서 전역에서 사용 하게 한다.
$('#pub_article').on('click','#login_btn',function(){
if ( sessionStorage.getItem('backId')==null) {
var idThis=$(this).attr('id');
sessionStorage.setItem('idThis',idThis);
} else {
sessionStorage.removeItem('backId')
}
member.login();
go.backPage();
})
댓글
댓글 쓰기