채택완료
다른 이벤트로 적용한 효과를 제거 후 실행시키려면?
https://codepen.io/sinbi/pen/bGgEMJb
예를 들어,
trigger() 버튼 클릭 시 2개가 선택되는데,
triggerHandler() 버튼 클릭 시 1개만 선택 되게 하려면?
반대로,
triggerHandler() 버튼 클릭 시 1개만 선택되는데,
trigger() 버튼 클릭 시 2개 선택되게 하려면 어떻게 해야 하는지?
답변 2개 / 댓글 4개
채택된 답변
+20 포인트
event.isTrigger 로
trigger인지 triggerHandler인지 구분은 가능합니다만,
2: triggerHandler
3: trigger
결국 셀렉터의 문제로 귀결되네요
트리거를 걸기전에 셀렉터를 골라내고
trigger를 쓸건지 triggerHandler를 쓸건지
결정해야할 것 같습니다
Copy
$('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');
}
});
답변에 대한 댓글 3개
trigger와 triggerHandler의 기능 차이가 있는 것 같습니다.
https://stackoverflow.com/questions/3772537/triggerhandler-vs-trigger-in-jquery
답변을 작성하려면 로그인이 필요합니다.
덕분에 좋은 팁 하나 배웠습니다.
근데, 예제 코드로 바꿔봐도 변화가 없네요.
콘솔에 찍어보니 숫자는 제대로 들어오는데...
https://codepen.io/sinbi/pen/bGgEMJb
아래처럼 무식한 방법으로 대충 해결했네요.ㅎ
https://codepen.io/sinbi/pen/BapjPvr