Это работает нормально, хотя вы, вероятно, должны принять jQuery в качестве аргумента:
(function($){
Таким образом, даже если символ $
используется для чего-то другого за пределами вашего замыкания, он выиграет 'Влияние вашего кода внутри замыкания.
Еще 2 вещи:
1) Вы должны объявлять и назначать переменную вместе, и использовать []
вместо new Array()
.
2.) Вам не хватает символа $
здесь: ('#grid')
.
Для полного изложения посмотрите на это:
(function($){
var retainedChanges = [];
$.retainChangesOnPaging = function(){
var changedCells = $('#grid').jqGrid('getChangedCells');
// loop over changedCells array, removing duplicates if you want to...
return retainedChanges.push(/* this is inside the loop; push current value to array*/);
....
}
$.getRetainedChanges = function(){
return retainedChanges;
}
})(jQuery);