我无法使用the调用jqgrid。示例中给出的运算符:
jQuery("#grid_id").editGridRow( "new", options );
我收到以下错误:
jQuery("#grid_id").editGridRow is not a function
相反,我总是要按以下方式拨打电话:
jQuery("#grid_id").jqGrid("editGridRow", "new", options );
我对后一种方法没有任何问题 - 我很好奇为什么前者不适用于我,当大多数示例和教程使用前一种方法时
由于
答案 0 :(得分:2)
可能您使用了以下代码
jQuery.jgrid.no_legacy_api = true;
在你的某个地方直接或间接编程(见documentation)。该代码禁止使用“旧式”API。
顺便说一下,如果您更喜欢使用“旧式”API,因为Visual Studio中支持IntelliSense,您可以使用“新样式”API以其他形式:
jQuery("#grid_id").jqGrid.editGridRow ("new", options);
而不是
jQuery("#grid_id").jqGrid ("editGridRow", "new", options);
如果与另一个描述Nick Craver的jQuery插件没有冲突,但IntelliSense将继续工作:
和
答案 1 :(得分:0)
这就是插件设计者选择这样做的方式。另一种方法是将所有方法放在$.fn
上(出现在原型上,依此每个 jQuery对象),这有一些问题:
The list of methods jqGrid has isn't short,所以这是他们控制和划分区域的一种方式。此外,这不是jqGrid独有的...例如它接受的jQuery UI主题,all of the widgets in that library遵循相同的约定。