위임 된 .on 이벤트에서이 참조는 어디에 있습니까? 예:
$('#foo').on('click', $('.bar'), function() {
console.log(this);
});
예제에서 이것은 #foo를 참조합니다. 하지만 클릭 한 막대 요소에 어떻게 액세스합니까? 5 개의 막대 요소가있을 수 있으며 어느 것이 클릭되었는지 알고 싶습니다.
감사
편집 : 죄송합니다. #bar를 .bar로 변경했습니다 (여러 번 존재하기 때문에).
'.bar'를 사용해야한다는 대답이 도움이되었습니다. 그러나 다음과 같은 선택기가 있으면 어떻게 될까요?
$('.bar').find('a');
이와 같은 것을 어떻게 통합 할 수 있습니까?
이것은 작동하지 않습니다 : (이것은 #foo를 참조하기 때문입니다)
$('#foo').on('click', $('.bar').find('a'), function() {
console.log(this);
});
이것으로 변경 ...
$('#foo').on('click', '.bar', function() {
console.log(this);
});
이제 this
클릭 .bar
됩니다.
jQuery 객체를 원하면 $(this)
정상적으로 사용하십시오 .
편집하다
질문 코드 변경에 따라 다음이 필요합니다.
$('#foo').on('click', '.bar a'), function() {
console.log(this);
});
이는 단순히 click 이벤트 핸들러를 .bar
document.ready에 존재하지 않을 수있는 요소 내부의 링크로 확장합니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다