上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

请问各位大佬如何替换原网页中的按键监听事件

[复制链接]
  • TA的每日心情
    无聊
    2023-9-5 15:56
  • 签到天数: 54 天

    [LV.5]常住居民I

    15

    主题

    76

    回帖

    112

    积分

    中级工程师

    积分
    112
    发表于 7 天前 | 显示全部楼层 | 阅读模式
    悬赏100油猫币已解决
    $(document).keydown(function (event) {//alert(event.keyCode);
                    switch (event.keyCode) {
                        case 13: //Enter
                            if (chooseNo == "saleorder.sourceid") {
                                $("input[name='saleorder.remark']").focus();
                                return false;
                            }
                            if (chooseNo == "saleorder.remark") {
                                $("input[name='saleorder.remark']").blur();
                                beginAddDetail();
                            }
                            if (chooseNo == "unitnum") {
                                $("input[name=auxnum]").focus();
                                return false;
                            }
                            if (chooseNo == "auxnum") {
                                $("input[name=overnum]").focus();
                                return false;
                            }
                            if (chooseNo == "overnum") {
                                if ($("input[name=taxprice]").attr("readonly") == "readonly") {
                                    $("input[name=remark]").focus();
                                }
                                else {
                                    $("input[name=taxprice]").focus();
                                }
                                return false;
                            }
                            if (chooseNo == "taxprice") {
                                $("input[name=boxprice]").focus();
                                return false;
                            }
                            if (chooseNo == "boxprice") {
                                $("input[name=remark]").focus();
                                return false;
                            }
                            if (chooseNo == "remark") {
                                $("input[name=savegoon]").click();
                                return false;
                            }
                            break;
                        case 27: //Esc
                            $("#sales-remark-swapOrderDetailAddPage").focus();
                            $("#sales-dialog-swapOrderAddPage-content").dialog('close');
                            break;
                        //case 37: //←
                        //  $("#button-back").click();
                        //break;
                        //case 39: //→
                        //  $("#button-next").click();
                        //break;
                        case 38://↑
                            var detaildialog = $("#sales-dialog-swapOrderAddPage-content").length;
                            if(detaildialog == 0 ){
                                var row = $wareList.datagrid('getSelected');//console.log(row);
                                var selectindex = $wareList.datagrid('getRowIndex', row);
                                if(selectindex == -1){
                                    selectindex = 0;
                                }else{
                                    $wareList.datagrid('unselectRow',selectindex);
                                    -- selectindex;
                                }
                                $wareList.datagrid('selectRow',selectindex);
                                var selectRow =  $wareList.datagrid('getRows')[selectindex];
                                var customerid = $("#sales-customer-hidden-swapOrderAddPage").val();
                                if (priceFloat > 0 && selectindex > -1) {
                                    showPirceMenu(selectindex,customerid, selectRow.goodsid);
                                }else{
                                    $("#sales-goodsPriceMenu-orderPage").menu('hide');
                                }
    
                            }
    
                            break;
                        case 40://↓
                            var detaildialog = $("#sales-dialog-swapOrderAddPage-content").length;
                            if(detaildialog == 0 ){
                                var row = $wareList.datagrid('getSelected');//console.log(row);
                                var selectindex = $wareList.datagrid('getRowIndex', row);
                                if(selectindex == -1){
                                    selectindex = 0;
                                }else{
                                    $wareList.datagrid('unselectRow',selectindex);
                                    ++ selectindex;
                                }
                                $wareList.datagrid('selectRow',selectindex);
                                var selectRow =  $wareList.datagrid('getRows')[selectindex];
                                var customerid = $("#sales-customer-hidden-swapOrderAddPage").val();
                                if (priceFloat > 0  && selectRow != undefined && selectRow.goodsid != undefined) {
                                    showPirceMenu(selectindex,customerid, selectRow.goodsid);
                                }else{
                                    $("#sales-goodsPriceMenu-orderPage").menu('hide');
                                }
                            }
                            break;
                        case 65: //a
                            if (event.altKey) {
                                $("#button-add").click();
                            }
                            break;
                        case 83: //s
                            if (event.ctrlKey) {
                                $("#button-save").click();
                                return false;
                            }
                            break;
                    }
                });

    以上是原代码,主要想改原网页里按回车input获得焦点的顺序,我用removeEventListener不成功。

    最佳答案

    查看完整内容

    [md]``` window.addEventListener("keydown", (event) => { const e = window.event || event const k = e.keyCode || e.which event.stopPropagation() if (e.ctrlKey || e.shiftKey || e.altKey || e.metaKey) return switch (k) { case 32: alert("success!") break } }, true) ```[/md]
  • TA的每日心情

    昨天 19:31
  • 签到天数: 961 天

    [LV.10]以坛为家III

    89

    主题

    540

    回帖

    1012

    积分

    高级专家

    脚本猫首席体验官

    积分
    1012

    油中2周年生态建设者新人报道油中3周年挑战者 lv2喜迎中秋

    发表于 7 天前 | 显示全部楼层
    window.addEventListener("keydown", (event) => {
        const e = window.event || event
        const k = e.keyCode || e.which
        event.stopPropagation()
        if (e.ctrlKey || e.shiftKey || e.altKey || e.metaKey) return
        switch (k) {
            case 32:
                alert("success!")
                break
        }
    }, true)
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2023-9-5 15:56
  • 签到天数: 54 天

    [LV.5]常住居民I

    15

    主题

    76

    回帖

    112

    积分

    中级工程师

    积分
    112
    发表于 5 天前 | 显示全部楼层
    虽不算完美,也谢谢大佬解答
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表