按键事件

时间:2015-09-22 16:29:06

标签: javascript jquery google-chrome jquery-ui

当我按下回车键时,我有一个javascript代码来实现Jquery Calendar和一个按键事件来打开日历。

除了在chrome中输入键之外,第一个代码工作正常(如果我在事件触发器中按下另一个键)

        function ImproveDateTextBoxs() {
            $("img[id*=DatePickerImage]").closest(".ms-dtinput").remove();
            $(".ms-dtinput input[id$='Date']").each(function () {
                ImproveDate($(this));
                $($(this).next('img')).wrap($("<A/>").attr("href","#"));



            });
        }

        function ImproveDate(obj) {

//          obj.focus(function () { obj.select(); });

            if (typeof jQuery.ui.datepicker != "undefined") {
                obj.datepicker({
                    showOn: 'button',
                    buttonImage: '/_layouts/images/calendar.GIF',
                    buttonImageOnly: true,
                    showOtherMonths: true,
                        selectOtherMonths: true,
                    showButtonPanel: true,
                    changeMonth: true,
                    changeYear: true,
                    onClose: function() {
                        $(this).next('a').focus(); 
                    }               
                });
                obj.next('a').keypress(function (e) {
                 var key = e.which;
                 if(key == 13)  // the enter key code
                  {
//                  e.preventDefault();
//                  console.log("hola");
                    $(this).children().click();
                    return false;  
                  }
                });
//          obj.parent().next().children("a").removeAttr('onclick');
//          obj.parent().next().children("a").click(function () { obj.select(); });
            }
        }

以下代码打开日历并立即再次隐藏(以及Chrome中的相同问题)

        //Datepicker jquery ui
        function ImproveDateTextBoxs() {
            $("img[id*=DatePickerImage]").closest(".ms-dtinput").remove();
            $(".ms-dtinput input[id$='Date']").each(function () {
                ImproveDate($(this));
                $($(this).next('img')).wrap($("<A/>").attr("href","#"));
                $(this).next('a').keypress(function (e) {
                 var key = e.which;
                 if(key == 13)  // the enter key code
                  {
//                  e.preventDefault();
//                  console.log("hola");
                    $(this).children().click();
                    return false;  
                  }
                });


            });
        }

        function ImproveDate(obj) {

//          obj.focus(function () { obj.select(); });

            if (typeof jQuery.ui.datepicker != "undefined") {
                obj.datepicker({
                    showOn: 'button',
                    buttonImage: '/_layouts/images/calendar.GIF',
                    buttonImageOnly: true,
                    showOtherMonths: true,
                        selectOtherMonths: true,
                    showButtonPanel: true,
                    changeMonth: true,
                    changeYear: true,
                    onClose: function() {
                        $(this).next('a').focus(); 
                    }               
                });

//          obj.parent().next().children("a").removeAttr('onclick');
//          obj.parent().next().children("a").click(function () { obj.select(); });
            }
        }

0 个答案:

没有答案