我使用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的完整方法?它是在文件下载后运行的,但在解析/执行代码后不一定要运行吗?
几点说明:
body
但jiz也是由Modernizr从文档的head
加载的: