문제

나는 지금까지 항상 클릭 이벤트의 콜백이 된 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 플러그인. 콜백의 맥락을 유지합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top