此错误仅在 Free jqGrid 4.9.0 上发生(当我切换回 Free-jqGrid 4.8.0 时一切正常)。
我无法在 jFiddle 上重新创建它,所以这可能是因为我在同一页面上有多个网格(也许)。
错误:
高级搜索对话框的样式“top”和“left”都默认为 0px,因此当用户单击搜索按钮时,它们默认出现在网格的左上角。
现在,如果您关闭对话框,然后再次单击搜索按钮,则会以某种方式重新计算“顶部”和“左侧”,并且对话框会上升 -228.1875 像素(顶部)和 -5 像素(左侧) . 下次我重复这个流程时,对话框就从屏幕上消失了(因为它变成了 -500px 或其他东西)。
这发生在我所有的 5 个网格上。相同的行为。每次重新打开时,对话框都会重新计算它的位置。
我开始进行逆向工程,以找出 4.9.0 中导致这种行为的那些行在哪里,并发现这是由于savePositionOnHide
块内的函数(jquery.jqgrid.src.js 中的第 9896 行):this.data(propName, {
如果我更换:
top: top, //parseFloat($w.css("top")),
left: left, //parseFloat($w.css("left")),
和
top: getCssStyleOrFloat($w, "top"), //parseFloat($w.css("top")),
left: getCssStyleOrFloat($w, "left"), //parseFloat($w.css("left")),
我从 4.8.0 复制的,一切正常。
所以我只是想知道,如果这确实是一个错误,或者我错过了什么。
谢谢,