Easy UI 下拉框绑定【失去焦点】事件并设置焦点的方法以及按下【Tab键】触发事件指定下一焦点的位置

1.下拉框绑定失去焦点事件并设置焦点的方法:

$("#ID").next().children().blur(function () {

        var ID= $("#ID").val();

        if (ID== "") {

            ShowInfoBox("资料不允许为空,请输入!");

            $("#ID").next().children().focus();

            return false;

        }

    });

 

2.下拉框Tab键触发事件指定下一焦点的位置:

2.1  方法一:

    $("#ID").next().children().keydown(function () {
        var oEvent = window.event;
        if (oEvent.keyCode == '9') {
            oEvent.keyCode = 0;
            oEvent.returnValue = false;
            //alert("你按下了Tab键");
            var ID= $("#ID").val();
            if (ID == "" || ID == null || ID == undefined) {
                ShowInfoBox("资料不允许为空,请输入!");
                $("#ID").next().children().focus();
                return false;
            }
        }
    });

 

注意:Easy UI 的下拉框比较特殊,我发现这种编码方式在一个页面中使用多个选项卡的情况下,只在第一个选项卡中这个方法有效果,后面的选项卡没有效果(还未找到原因,知道原因的朋友,望评论区告知,谢谢),所以后来我采取了下面的这种方法

2.2  方法二:

document.onkeydown = function (e) {
        var currKey = 0, e = e || event;
        currKey = e.keyCode || e.which || e.charCode

        if (currKey == 9) {
            var focus_id = document.activeElement.id; // _easyui_textbox_input23
            var comId = focus_id;
            if (focus_id.indexOf("easyui_textbox_input") != -1) {
                 comId = $($('#' + focus_id).parent().parent().find('input')[0]).attr('id');
            }

            if (comId == "AE_CRNCY_CODE") {
                var CRNCY_CODE = $("#AE_CRNCY_CODE").val();
                if (CRNCY_CODE == "" || CRNCY_CODE == null || CRNCY_CODE == undefined) {
                    ShowInfoBox("资料不允许为空,请输入!", 1, "AE_CRNCY_CODE_focus");
                    //$("#AE_CRNCY_CODE").next().children().focus();
                    return false;
                }
            }
        }
}

 

posted @ 2020-03-18 15:41  官方小可爱  阅读(1150)  评论(0编辑  收藏  举报