gpt4 book ai didi

jquery - jqgrid afterShowForm 未被调用

转载 作者:行者123 更新时间:2023-12-01 00:25:12 25 4
gpt4 key购买 nike

我想将 jqgrid 的 View 表单定位到屏幕的中心。因为高度是自动设置的(取决于数据量),所以我需要在渲染后计算它的中心位置。因此我想使用 afterShowForm。不幸的是,它没有被称为任何东西。我尝试了旧版本的 jqGrid (也许最新版本包含错误),但它没有解决我的问题。有人知道为什么它不发射吗?请注意,当我更改“beforeShowForm”中的“afterShowForm”时,它确实会被解雇。但是高度还没有计算出来。谢谢! (当然,非常欢迎您提出另一种方法来实现我的目标!)。代码:

        $("#grid").jqGrid("navGrid", "#pager",
{ view: true, addfunc: additem, editfunc: edititem, delfunc: deleteitem },
{},
{},
{},
{},
{ width: 350,
afterShowForm: function (formid) {
alert('yey');
// Here I want to center the form
}
}
);

编辑:在 wiki 上我发现 View 表单没有 afterShowForm 事件;它只有 onClose 和 beforeShowForm :( 所以我想不可能以这种方式将位置设置到中心..

最佳答案

问题的原因很简单: View 表单中afterShowForm确实不存在。仅支持树事件:onClose、beforeShowFormbeforeInitData 。因此,您应该使用 beforeShowForm,但在另一个线程中执行您需要的操作:

beforeShowForm: function($form) {
setTimeout(function() {
// do here all what you need (like alert('yey');)
},50);
}

在大多数情况下,您甚至可以使用 0(而不是 50)作为 setTimeout 的第二个参数。 JavaScript 函数。

关于jquery - jqgrid afterShowForm 未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6781747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com