1

感谢您在此处指出的任何帮助:)

我在使用新版本的 PHPMyAdmin 时遇到问题。

先让我画图,

我离开圣诞节去工作,回来后发现所有版本的 PHPMyAdmin 都有更新。这个新版本看起来不错,但这是我的主要问题。自从我使用 PHPMyAdmin 以来,我一直能够单击表格行上的任意位置来选择它,现在它已被更改,因此如果我单击一行,它会自动打开内联编辑器!!!!哇!!!!我不想编辑它,我想选择它!这怎么能被关闭,因为这已经完成了,我从来没有使用过它。我无法控制使用的 PHPMyAdmin 版本,它们都是由 Fasthosts 安装的。

我确定我不是唯一遇到此问题的开发人员,有人可以帮助我吗?

我想如果不是我可以运行旧版本的 PHPMyAdmin,但这不是主意,因为旧版本中可能存在其他安全问题,这些问题已在新版本中修复。

4

2 回答 2

2

找到 /js/makegrid.js。

相关部分是find("td.data").click(function(c),这里return false,防止编辑。

如果您还想在双击时启用此功能,只需替换: find("td.data").click(function(c) 与 find("td.data").dblclick(function(c)

于 2013-01-22T16:36:35.130 回答
2

对于 phpMyAdmin 4.0.5 版,您可以将网格编辑选项设置为禁用或双击(双击实际上是现在的默认设置)。

$cfg['GridEditing'] = 'double-click';
or
$cfg['GridEditing'] = 'disabled';

但是,要通过单击选择行,则需要编辑 makegrid.js 文件。在 initGridEdit 函数的第 1659 行之后添加以下代码

else {
// Custom code added to select row on single click
var $row = $cell.parent();
var $checkbox = $row.find('td input[type=checkbox]').first();
$checkbox.prop('checked',!$checkbox.prop('checked'));
$row.toggleClass('marked');
}

添加代码后,它看起来像这样。请注意,我遗漏了一些代码来缩短这个答案。

$(t).find('td.data.click2')
.click(function(e) {
    $cell = $(this);
    // In the case of relational link, We want single click on the link 
    // to goto the link and double click to start grid-editing.
    var $link = $(e.target);
    if ($link.is('.grid_edit.relation a')) {
        // OMITTED CODE...
    } else {
        // Custom code added to select row on single click
        var $row = $cell.parent();
        var $checkbox = $row.find('td input[type=checkbox]').first();
        $checkbox.prop('checked',!$checkbox.prop('checked'));
        $row.toggleClass('marked');
    }
})

我只在将网格编辑设置为双击时测试了这个解决方案。如果禁用网格编辑,它很可能无法工作。

于 2013-08-08T18:14:35.383 回答