jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 没有调用jqgrid afterShowForm大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想将jqgrid的视图形式定位到屏幕的中心.因为高度是自动设置的(取决于数据量),我需要在渲染后计算其中心位置.因此我想使用afterShowForm.不幸的是,它没有被称为任何东西.我尝试了旧版本的jqGrid(也许最新的版本包含一个bug),但它并没有解决我的问题.任何人都知道为什么它没有开火?请注意,当我在’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
            }
        }
        );

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

解决方法

问题的原因很简单:查看表单中实际上不存在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全部内容,希望文章能够帮你解决jquery – 没有调用jqgrid afterShowForm所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: