2011-02-02 2 views
0

이미 생성 된 datepicker에 두 번째 이벤트 처리기를 추가하려고합니다.JQuery - 이전 하나를 호출하는 다른 이벤트 처리기 추가

기본적으로 onSubmit 처리기를 비롯하여 일련의 기본값으로 datepicker를 만드는 몇 가지 기능이 있습니다.

기존의 onSubmit 처리기의 동작을 유지하고 싶지만 추가 처리를 위해 이벤트를 직접 잡아 두는 것이 좋습니다.

make_datepicker("some_id"); //someone else's code that I can't change 
var prev_submithandler = $("#some_id").datepicker('option', 'onSelect'); 
$("#some_id").datepicker('option', 'onSelect', function(dateText) { 
    prev_submithandler(dateText); 
    // do some other stuff 
}); 

이 디버거에서 잘 작동하는 것 같다,하지만 난 이전에 단계 때 "이"을하지 않는 것으로 변경의 값을 핸들러를 제출 여기에

나는 것을하고 있어요 방법 datepicker의 입력 필드가되었지만 이제 전체 DOMWindow 객체. 그러면 이전 제출 핸들러의 논리가 중단됩니다.

그냥 두 번째 처리기를 추가하려고하면 첫 번째 처리기가 재정의 된 것처럼 보입니다. (예상 된 동작이 아닌 것으로 생각됩니다.) 그래서이 방법을 시도했습니다.

나는이 모든 잘못에 대해 생각하고 있습니까? 나는 일종의 자바 스크립트 n00b입니다. 당신이 아니라 범위의 문제 같은 소리, 그래서 예를 들어, function.call 또는 Function.apply에

를 사용하려고 무엇을

답변

0

확실하지

$("#some_id").datepicker('option', 'onSelect', function(dateText) { 
    prev_submithandler.call(this, dateText); 
    // do some other stuff 
}); 
관련 문제