2010-02-11 5 views
8

jquery datePicker 객체에서 동일한 onSelect 이벤트를 두 번 처리하려고합니다. 내가 이해할 수있는 이벤트를 여러 번 처리 할 수 ​​있지만이 시도 할 때 이벤트 처리기 중 하나만 해고 가져옵니다. 그것은 두 번째 처리기를 시작하는 것으로 보이지만 첫 번째 처리기는 시작하지 않습니다. 첫 번째 이벤트를 재정의하지 않고 동일한 onSelect 이벤트를 두 번 처리 할 수 ​​있습니까? 문제 코드 스 니펫입니다.jquery datepicker onselect 이벤트 핸들러를 여러 번 호출

$(document).ready(function(){ 
    $('.test').datepicker(); 
    ... 
    $('.test').datepicker('option', 'onSelect', function(dateText, inst) { alert('one'); }); 
} 

... 

$(document).ready(function(){ 
    $('.test').datepicker('option', 'onSelect', function(dateText, inst) { alert('two'); }); 
} 

답변

11

사용중인 코드는 첫 번째 onSelect 핸들러를 두 번째 코드로 바꿉니다. 두 가지 작업을 원한다면 먼저 onSelect 핸들러를 가져와 핸들러 내에서 호출해야합니다.

$(function() { 
    $('.test').datepicker(); 
    $('.test').datepicker('option', 'onSelect', function(dateText,inst) { alert('one'); }); 
    var prevHandler = $('.test').datepicker('option','onSelect'); 
    $('.test').datepicker('option', 'onSelect', function(dateText,inst) { prevHandler(dateText,inst); alert('two'); }); 
}); 
+0

원더풀! 그게 내가 찾고 있던 바로 그거야, 도와 줘서 고마워! – Noel

+0

정말! 아름다운 대답. – Arjmand

+0

'$ ('. test')'를 4 번 수행하는 것이 약간 낭비되지 않습니까? 그렇지 않으면 매우 유용한 답변 – freefaller

관련 문제