Невозможно вызвать функции jqGrid, используя.оператор - PullRequest
0 голосов
/ 25 ноября 2010

Я не могу вызвать jqgrid с помощью. оператор, как указано в примерах:

jQuery("#grid_id").editGridRow( "new", options );

Я получаю следующую ошибку:

jQuery("#grid_id").editGridRow is not a function

Вместо этого мне всегда нужно позвонить следующим образом:

jQuery("#grid_id").jqGrid("editGridRow", "new", options );

У меня нет проблем с последним подходом - мне любопытно, почему первый не работает для меня, когда большинство примеров и учебных пособий используют первый подход

Спасибо

Ответы [ 2 ]

2 голосов
/ 25 ноября 2010

Возможно, вы использовали следующий код

jQuery.jgrid.no_legacy_api = true;

где-то в вашей программе прямо или косвенно (см. документация ). Код запрещает использование API «старого стиля».

Кстати, если вы предпочитаете использовать API "старого стиля" из-за поддержки IntelliSense в Visual Studio, вы можете использовать API "нового стиля" в немного другой форме:

jQuery("#grid_id").jqGrid.editGridRow ("new", options);

вместо

jQuery("#grid_id").jqGrid ("editGridRow", "new", options);

В случае отсутствия конфликтов с другими плагинами jQuery, в которых описан Nick Craver, но IntelliSense продолжит работу:

alt text

и

alt text

0 голосов
/ 25 ноября 2010

Это просто способ, которым дизайнеры плагинов решили сделать это.Альтернатива состоит в том, чтобы все их методы были на $.fn (присутствуют в прототипе, поэтому на каждый объект jQuery), что имеет несколько проблем:

  • Теперь естьмножество методов, определенных для каждого объекта
  • Потенциал для конфликта, что, если им нужен уже принятый метод jQuery или один jQuery добавится позже?

Список методов jqGridимеет не короткий , так что это способ для них держать его под контролем и разделить.Кроме того, это не уникально для jqGrid ... например, jQuery UI , который он принимает, все виджеты в этой библиотеке следуют тому же соглашению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...