【问题标题】:Disable phpMyAdmin's Overriding of Ctrl+Arrow Keys禁用 phpMyAdmin 对 Ctrl+箭头键的覆盖
【发布时间】:2020-07-11 02:30:23
【问题描述】:

在 phpMyAdmin 中,使用 Control 键和箭头键(例如 ctrl+right、ctrl+left、ctrl+shift+right 和 ctrl+shift+left)会导致光标移动到另一个单元格。

如果人们本能地使用这些组合键在文本中移动和/或选择单词,这种行为可能会非常烦人。

旧版本的 phpMyAdmin,有一个配置设置 $cfg['CtrlArrowsMo​​ving']=false,会禁用它,但该设置不再受支持,似乎没有办法通过设置或配置了。

在编辑表格时,Alt 键的作用完全相同,而 Tab 键允许您按预期从一个单元格移动到另一个单元格,因此没有理由以这种方式使用 ctrl 键除非用户真的想要。

我喜欢 phpMyAdmin,但是在多年本能地按 ctrl+shift+left 选择一个单词后,我决定搜索代码并找出如何禁用它。

我正在使用 phpMyAdmin 版本 5.0.2,不知道其他版本是否使用相同的代码,但希望它们足够相似,以便这些信息可以帮助人们根据需要修改行为。

【问题讨论】:

    标签: user-interface phpmyadmin keyboard-shortcuts


    【解决方案1】:

    有两个不同的函数可以控制这种行为。

    编辑表格时控制行为的函数位于 /js/makegrid.js 下的 PHPMyAdmin 目录中/p>

    function handleCtrlNavigation (e) {
        if ((e.ctrlKey && e.which === 38) || (e.altKey && e.which === 38)) {
            g.moveUp(e);
        } else if ((e.ctrlKey && e.which === 40)  || (e.altKey && e.which === 40)) {
            g.moveDown(e);
        } else if ((e.ctrlKey && e.which === 37) || (e.altKey && e.which === 37))
            g.moveLeft(e);
        } else if ((e.ctrlKey && e.which === 39)  || (e.altKey && e.which === 39)) {
            g.moveRight(e);
        }
    }
    

    只需删除引用 ctrl 键的部分,或将整个函数替换为:

    function handleCtrlNavigation (e) {
        if ((e.altKey && e.which === 38)) {
            g.moveUp(e);
        } else if ((e.altKey && e.which === 40)) {
            g.moveDown(e);
        } else if ((e.altKey && e.which === 37)) {
            g.moveLeft(e);
        } else if ((e.altKey && e.which === 39)) {
            g.moveRight(e);
        }
    }
    

    这将保留 alt 键功能。如果你不关心,你也可以在函数声明之后添加一个 return 语句:

    function handleCtrlNavigation (e) {
        return;
        ((e.ctrlKey && e.which === 38) || (e.altKey && e.which === 38)) {...
    

    控制在其他区域(例如插入新条目时)的行为的函数位于文件/js/keyhandler.jsonKeyDownArrowsHandler 函数下,描述为“允许在输入/通过 Ctrl+箭头选择时移动”。在这里,您可以在函数顶部放置一个 return 语句来绕过它:

    function onKeyDownArrowsHandler (event) {
        return;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      相关资源
      最近更新 更多