3

날짜 선택기를 사용하여 2 날짜의 날짜를 선택합니다 .... 백 스페이스를 클릭하는 동안 텍스트 상자 값을 지우는 중 .... Firefox에서 제대로 작동합니다. 하지만 크롬에서는 이전 페이지로 리디렉션됩니다.백 스페이스는 날짜 선택기에서 크롬의 이전 페이지로 리디렉션됩니다

$().ready(function() { 

      var dates = $("#TestDateFrom, #TestDateTo").datepicker({ 
       changeMonth: true, 
       numberOfMonths: 1, 
       onSelect: function(selectedDate) { 
        var option = this.id == "TestDateFrom" ? "minDate" : "maxDate", 
        instance = $(this).data("datepicker"), 
        date = $.datepicker.parseDate(
        instance.settings.dateFormat || 
        $.datepicker._defaults.dateFormat, 
        selectedDate, instance.settings); 
        dates.not(this).datepicker("option", option, date); 
       } 
      }); 

      $("#TestDateFrom").keypress(function(e) { 
       switch (e.keyCode) { 
        case 8: 
         $("#TestDateFrom").val(""); // backspace 
         break; 
        default: 
         e.preventDefault(); 
         break; 
       } 
      }); 

      $("#TestDateTo").keypress(function(e) { 
       switch (e.keyCode) { 
        case 8: 
         $("#TestDateTo").val(""); // backspace 
         break; 
        default: 
         e.preventDefault(); 
         break; 
       } 
      }); 


     }) 

답변

4

키 누름에 JQuery와의 이벤트 화재, 최대 키 키 다운

$().ready(function() { 

      var dates = $("#TestDateFrom, #TestDateTo").datepicker({ 
       changeMonth: true, 
       numberOfMonths: 1, 
       onSelect: function(selectedDate) { 
        var option = this.id == "TestDateFrom" ? "minDate" : "maxDate", 
        instance = $(this).data("datepicker"), 
        date = $.datepicker.parseDate(
        instance.settings.dateFormat || 
        $.datepicker._defaults.dateFormat, 
        selectedDate, instance.settings); 
        dates.not(this).datepicker("option", option, date); 
       } 
      }); 

      $("#TestDateFrom").keyup(function(e) { 
       switch (e.keyCode) { 
        case 8: 
         $("#TestDateFrom").val(""); 
         e.preventDefault(); // backspace 
         break; 
        default: 
         e.preventDefault(); 
         break; 
       } 
      }); 
      $("#TestDateFrom").keydown(function(e) { 
       switch (e.keyCode) { 
        case 8: 
         $("#TestDateFrom").val(""); // 
         e.preventDefault(); 
         break; 
        default: 
         e.preventDefault(); 
         break; 
       } 
      }); 

      $("#TestDateFrom").keypress(function(e) { 
       switch (e.keyCode) { 
        case 8: 
         $("#TestDateFrom").val(""); // backspace 
         e.preventDefault(); 
         break; 
        default: 
         e.preventDefault(); 
         break; 
       } 
      }); 

      $("#TestDateTo").keypress(function(e) { 
       switch (e.keyCode) { 
        case 8: 
         $("#TestDateTo").val(""); // backspace 
         e.preventDefault(); 
         break; 
        default: 
         e.preventDefault(); 
         break; 
       } 
      }); 

      $("#TestDateTo").keyup(function(e) { 
       switch (e.keyCode) { 
        case 8: 
         $("#TestDateTo").val(""); // backspace 
         e.preventDefault(); 
         break; 
        default: 
         e.preventDefault(); 
         break; 
       } 
      }); 
      $("#TestDateTo").keydown(function(e) { 
       switch (e.keyCode) { 
        case 8: 
         $("#TestDateTo").val(""); // backspace 
         e.preventDefault(); 
         break; 
        default: 
         e.preventDefault(); 
         break; 
       } 
      }); 




     }) 
을 시도 ... ... 따라 브라우저 그래서 세 안정적인 결과를 얻을 수 모두에서 이벤트를 발생
+0

감사합니다. – user1086355

0

이것은 나를 위해 일했지만 내 datepicker 텍스트 상자는 읽기 전용으로 설정됩니다. 사용자가 날짜를 입력하는 것을 원하지 않았습니다. 두 개의 datepicker 텍스트 상자에 대한 모든 "키"이벤트를 처리하는 위임 된 이벤트 리스너를 만들었습니다.

선택기를 약간 단순화하려면 모든 datepicker 텍스트 상자에 클래스를 추가 할 수도 있습니다.

관련 문제