Jquery plugins 无法调用插件
我正在尝试开发一个插件,将datagrid呈现为html元素。例如:Jquery plugins 无法调用插件,jquery-plugins,Jquery Plugins,我正在尝试开发一个插件,将datagrid呈现为html元素。例如: <div id="datagrid"> <!-- Renderizado via Backbone.js --> </div> 我这样调用函数: // csAuditarSesiones.js $("#datagrid").csDatagrid({ columns: cols, url: $("#sfAction").val(), filterBy: 'us
<div id="datagrid">
<!-- Renderizado via Backbone.js -->
</div>
我这样调用函数:
// csAuditarSesiones.js
$("#datagrid").csDatagrid({
columns: cols,
url: $("#sfAction").val(),
filterBy: 'user_str'
});
Chrome说:
未捕获的TypeError:对象[Object Object]没有方法“csDatagrid”
加载库队列(Chrome开发者工具):
这里的原因是您正在DocumentReady事件中定义插件。因此,调用此插件的元素必须在加载插件后调用插件 尝试在load\ready事件之外定义新插件,例如
(function($) {
$.fn.csDatagrid = function(options) {
// Code ...
};
}, (jQuery));
$(document).ready(function(){
$("#datagrid").csDatagrid({
columns: cols,
url: $("#sfAction").val(),
filterBy: 'user_str'
});
}))
仅供参考(现在一定要读)
编辑:
是否有可能加载多个jQuery版本?当存在冲突时,可能会发生这种情况。还要确保在javascript文件之后和document ready函数之前加载插件
还有一种现象(我不知道为什么我认为在加载多个版本时会出现这种情况)发生,您必须将$callback添加到您的ready函数中。比如
$(document).ready(function($){
//TODO: Code here
});
立即调用函数的最后一行有错误。
},(jQuery));应该是:
})(jQuery) 我读了文档,但我还没有确定是否在ready listener中编写插件。所以,更改这些行,但是插件仍然不工作。插件是在另一个文件中定义的,这很重要吗?不,我只加载一个JQuery版本。我遵循本文详述的步骤。这个,为我工作。
(function($) {
$.fn.csDatagrid = function(options) {
// Code ...
};
}, (jQuery));
$(document).ready(function(){
$("#datagrid").csDatagrid({
columns: cols,
url: $("#sfAction").val(),
filterBy: 'user_str'
});
$(document).ready(function($){
//TODO: Code here
});