본문 바로가기

JavaScript/jQuery

jQuery UI Datepicker IE 버그 해결...

반응형
jquery ui 중 Datepicker 라는 것이 있습니다. 날짜를 선택할 수 있게 해주는 UI 입니다.

요게 잘 되는 것 같지만 IE(Internet Explorer)에서는 약간의 문제가 있습니다.

사용할 수 없을 정도는 아니고 날짜를 선택 했는데 달력이 또 나오게 됩니다.





1. 해당 텍스트 입력에 포커스가 가게 됩니다.

2. 달력(datepicker)창이 열립니다.

3. 날짜를 하나 선택합니다.

4. 창이 닫힙니다.

5. 해당 텍스트 입력으로 포커스가 다시 갑니다.

2. 달력(datepicker)창이 열립니다.

이와 같이 달력 밖 영역을 클릭해서 없애지 않는한 무한 날짜 선택이 됩니다. -_-;;

그냥 냅둬도 되지만... 찜찜해서 아예 포커스를 안주게 수정 하였습니다.

    /* Update the input field with the selected date. */
    _selectDate: function(id, dateStr) {
        var target = $(id);
        var inst = this._getInst(target[0]);
        dateStr = (dateStr != null ? dateStr : this._formatDate(inst));
        if (inst.input)
            inst.input.val(dateStr);
        this._updateAlternate(inst);
        var onSelect = this._get(inst, 'onSelect');
        
        if (onSelect)
            onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);  // trigger custom callback
        else if (inst.input)
            inst.input.trigger('change'); // fire the change event
        if (inst.inline)
            this._updateDatepicker(inst);
        else {
            this._hideDatepicker();
            this._lastInput = inst.input[0];
            // 포커스를 주지 않는다.
            // inst.input.focus(); // restore focus
            // 포커스 해제
            inst.input.blur();
            this._lastInput = null;
        }
    },




반응형

'JavaScript > jQuery' 카테고리의 다른 글

jQuery UI Datepicker IE 버그 해결...  (1) 2011.08.26
Eclipse + Aptana : jQuery Code Assist 사용하기  (12) 2010.03.25