다른 이벤트로 적용한 효과를 제거 후 실행시키려면?

다른 이벤트로 적용한 효과를 제거 후 실행시키려면?

QA

다른 이벤트로 적용한 효과를 제거 후 실행시키려면?

본문

https://codepen.io/sinbi/pen/bGgEMJb

 

예를 들어,

trigger() 버튼 클릭 시 2개가 선택되는데,

triggerHandler() 버튼 클릭 시 1개만 선택 되게 하려면?

반대로,

triggerHandler() 버튼 클릭 시 1개만 선택되는데,

trigger() 버튼 클릭 시 2개 선택되게 하려면 어떻게 해야 하는지?

 

이 질문에 댓글 쓰기 :

답변 2

event.isTrigger 로

trigger인지 triggerHandler인지 구분은 가능합니다만,

2: triggerHandler

3: trigger

결국 셀렉터의 문제로 귀결되네요

트리거를 걸기전에 셀렉터를 골라내고

trigger를 쓸건지 triggerHandler를 쓸건지

결정해야할 것 같습니다

 


  $('p,div').select(function(e){
    console.log(e.isTrigger);
    // triggerHandler
    if (e.isTrigger == 2) {
        $('p,div').filter('[class*=1]').css('background','yellow');
    }
    // trigger
    if (e.isTrigger == 3) {
        $('p,div').eq(0).css('background','yellow');
    }
  });

답변 감사합니다.
덕분에 좋은 팁 하나 배웠습니다.

근데, 예제 코드로 바꿔봐도 변화가 없네요.
콘솔에 찍어보니 숫자는 제대로 들어오는데...
https://codepen.io/sinbi/pen/bGgEMJb

아래처럼 무식한 방법으로 대충 해결했네요.ㅎ
https://codepen.io/sinbi/pen/BapjPvr

trigger와 triggerHandler의 기능 차이가 있는 것 같습니다.

 

https://stackoverflow.com/questions/3772537/triggerhandler-vs-trigger-in-jquery

답변 감사합니다.
차이가 있는 건 아는데, 예제 코드를 좀 더 개선해볼까 해서요.
클릭 시, 다른 버튼이 클릭한 효과 제거해주는 게 궁금합니다.

보통의 다른 예제는 서로 자동 교환되던데,
위 예제는 이상하게 안 바뀌네요.

답변을 작성하시기 전에 로그인 해주세요.
전체 8
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT