琦玉 发表于 2025-7-5 09:02:08

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

```
$(document).keydown(function (event) {//alert(event.keyCode);
                switch (event.keyCode) {
                  case 13: //Enter
                        if (chooseNo == "saleorder.sourceid") {
                            $("input").focus();
                            return false;
                        }
                        if (chooseNo == "saleorder.remark") {
                            $("input").blur();
                            beginAddDetail();
                        }
                        if (chooseNo == "unitnum") {
                            $("input").focus();
                            return false;
                        }
                        if (chooseNo == "auxnum") {
                            $("input").focus();
                            return false;
                        }
                        if (chooseNo == "overnum") {
                            if ($("input").attr("readonly") == "readonly") {
                              $("input").focus();
                            }
                            else {
                              $("input").focus();
                            }
                            return false;
                        }
                        if (chooseNo == "taxprice") {
                            $("input").focus();
                            return false;
                        }
                        if (chooseNo == "boxprice") {
                            $("input").focus();
                            return false;
                        }
                        if (chooseNo == "remark") {
                            $("input").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');
                            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');
                            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不成功。

潘钜森 发表于 2025-7-5 09:02:09

```
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)
```

琦玉 发表于 2025-7-7 11:07:18

虽不算完美,也谢谢大佬解答
页: [1]
查看完整版本: 请问各位大佬如何替换原网页中的按键监听事件