jQuery를 사용하여 단일 항목에서 콜백을 설정하는 방법
-
21-08-2019 - |
문제
나는 지금까지 항상 클릭 이벤트의 콜백이 된 JS 기능을 가지고 있으며, 따라서 '이'의사 변수에 크게 의존합니다. '이것은u003Cli> 요소.
그러나 나는 이제 더 복잡한 경로를 사용하여 때때로 트리거되는 상황이 있으며, 이러한 상황에서 '이것은'완전히 다른 요소입니다. 그러나 함수를 호출하기 전에 관련성을 찾을 수 있습니다.u003Cli> ,하지만 이것을 'this'로 먹일 수있는 방법이 있습니까? 나는에 .Each ()를 사용한다고 생각했다u003Cli> 그러나 단일 요소에서는 작동하지 않습니다.
편집하다 각 ()은 단일 요소에서 작동하는 것으로 밝혀졌습니다. 오류는 다른 것으로 판명되었습니다.
다른 사람에게 유용 할 수 있으므로이 질문을 삭제하지 않았습니다.
해결책
당신은 찾고 있습니다 전화 방법:
function onClick() {
console.log(this); // will be the #test element in both cases
return false;
}
$('#test').click(onClick);
$('#test2').click(function() {
onClick.call($('#test')[0]);
return false;
});
이것은 또한 가능합니다 적용하다:
onClick.apply($('#test')[0]);
그만큼 [0]
jQuery 랩핑 세트 대신 실제 DOM 요소를 전달해야합니다.
다른 팁
사용해보십시오 jQuery.callback 플러그인. 콜백의 맥락을 유지합니다.
제휴하지 않습니다 StackOverflow