码迷,mamicode.com
首页 > 其他好文 > 详细

flexigrid的处理函数使用闭包传递this对象

时间:2014-09-03 22:44:27      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:闭包   flexigrid   

很多时候,process函数都需要获得this对象,然后调用一些方法。

下面举个例子:

	config : function (groupName, description, deviceNumber, del) {
	    var ob = this;
	    $("#groups").flexigrid(
		{
		    dataType: ‘json‘,
		    width: 870,
		    height: 300,
		    colModel : [
			{
			    display: groupName,
			    name: ‘groupName‘,
			    width: 200,
			    sortable: true,
			    align: ‘left‘,
			    process: (function (ob, hdl) {
				return function (celDiv, id) {
				    hdl(ob, celDiv, id);
				};
			    }(ob, ob.editName))
			},
			{
			    display: description,
			    name: ‘description‘,
			    width: 469,
			    sortable: true,
			    align: ‘left‘,
			    process: (function (ob, hdl) {
				return function (celDiv, id) {
				    hdl(ob, celDiv, id);
				};
			    }(ob, ob.editDescription))
			},
			{
			    display: deviceNumber,
			    name: ‘deviceNumber‘,
			    width: 110,
			    sortable: true,
			    align: ‘left‘
			},
			{
			    display: del,
			    name: ‘del‘,
			    width: 25,
			    sortable: true,
			    align: ‘left‘,
			    process: (function (ob, hdl) {
				return function (celDiv, id) {
				    hdl(ob, celDiv, id);
				};
			    }(ob, ob.remove))
			}
		    ]
		}
	    );
	    $.ajaxSetup({ cache: false });
	},


这样就能完美的解决无法传额外参数的问题。



flexigrid的处理函数使用闭包传递this对象

标签:闭包   flexigrid   

原文地址:http://blog.csdn.net/csfreebird/article/details/39034571

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!