间歇性的Modernizr / jQuery插件错误“对象[对象对象]没有方法......”

时间:2014-01-21 18:36:22

标签: jquery jquery-datatables modernizr

我使用Modernizr to load DataTables jQuery plugin;一旦插件被加载,我使用Modernizr的完整方法对所有被归类为tablesorter的表执行DataTables函数:

<script>
Modernizr.load([
{
    load: [
        '//path/to/jquery.dataTables.min.js'
    ],
    complete: function() {
        //power table sorting
        $(document).ready(function () {
            $('table.tablesorter').each( function() {
                if ($(this).find('tbody').prop('rows').length > 2) {
                    $(this).dataTable({
                        "aaSorting": [ ],
                        "bAutoWidth": false,
                        "bFilter": 0,
                        "bLengthChange": false,
                        "bPaginate": 0,
                        "iDisplayLength": 50,
                        "sDom": "t"
                    });
                };
            });
        });
    }
}
]);
</script>

大多数情况下,此代码的行为符合预期。 不时 - 可能是10% - 此代码会出错

  

未捕获TypeError:对象[object Object]没有方法'dataTable'

我是否误解了Modernizr的完整方法?它是在文件下载后运行的,但在解析/执行代码后不一定要运行吗?

几点说明:

  • 并非此应用程序中的每个页面都使用DataTables,因此
  • 从文档body
  • 调用错误脚本
  • 但jiz也是由Modernizr从文档的head加载的:

    Modernizr.load([ {     两者:[         '//ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js',         '//ajax.googleapis.com/ajax/libs/jqueryui/1.10.0/jquery-ui.min.js',         '//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js'     ] } ]);

0 个答案:

没有答案