selector
의 목적은 jQuery on()
메서드에서 무엇입니까? 어떤 상황에서jQuery on() selector
는
$("#fish").find(".button").on("click", function() {
// something
});
$("#fish").on("click", ".button", function() {
// something
});
말보다 낫다?
나는 jQuery documention에 고개 발견했습니다 선택기가 생략되거나 null의 경우
는, 이벤트 핸들러로 직접 또는 직접 바인딩이라고합니다. 핸들러는 요소에서 직접 발생하거나 하위 요소 (내부)에서 발생하는 거품과 같은 선택된 요소에서 이벤트가 발생할 때마다 호출됩니다.
선택기가 제공되면 이벤트 처리기는 위임 된 것으로 간주됩니다. 이벤트가 바운드 요소에서 직접 발생하지만 선택기와 일치하는 하위 항목 (내부 요소)에 대해서만 발생하면 처리기가 호출되지 않습니다. jQuery는 이벤트 대상에서 이벤트 처리기가 연결된 요소 (즉, 가장 안쪽에서 가장 바깥 쪽 요소)까지 이벤트를 버블 링하고 선택기와 일치하는 해당 경로를 따라 핸들러를 실행합니다. 내 말에 수정
오전의 차이는 내 첫 번째 예에서 이벤트가 #fish
바인딩되는,하지만 두 번째 예제에서 이벤트가 결합되는 반면에만 .buttons
에서 버블 링 이벤트를 수신하는 .buttons
각각? 그렇다면 이것의 의미는 무엇입니까? : S
이벤트가 #fish에 바인딩되어있는 경우 .button을 클릭하면 클릭 한 .button을 알 수 있습니까? 이것은 .button 대신 #fish를 참조 할 것입니다. 맞습니까?
첫 번째 예는 이벤트가 바인딩 될 때 또는 미래에 존재하는'#fish' 내부의'.button' 요소에 대해 작동합니다. 두 번째 예제는 바인딩이 만들어지면'# fish' 내부의'.button' 요소에 대해서만 함수를 실행합니다. – BenM