我有javascript代码,我试图从script1.js调用函数
//script1.js
$(function(){
$('#TableID').DataTable({
//Blah Blah Blah
});
});
工作正常,但如果我这样做
$(function(){
});
function MyDataTable(){
$('#TableID').DataTable({
//Blah Blah Blah
});
}
我一直得到$(...)。DataTable不是一个函数我该怎么解决它...因为我有一个外部的js我想调用函数MyDataTable()来执行被控制的动作。我该怎么做呢?
注意:我的布局看起来像
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
@RenderBody()
@Scripts.Render("jquery-1.10.2.js",
"Jquery.dataTables.min.js",
"dataTables.bootstrap.min.js",
"Script1.js" //Note the script1.js
)
@RenderSection("Scripts", false)
</body>
</html>
Page2 (view) which calls script1
<table id="TableID"></table>
@section Scripts {
<script type="text/JavaScript">
$(document).ready(function(){
MyDataTable();
})
</script>
}
答案 0 :(得分:0)
我看到的主要区别是,在第一个脚本中,初始化发生在$(function() {})
内,而在第二个脚本中,它在它之外,甚至没有被调用。所以这个改变应该对你有帮助:
$(function(){
MyDataTable();
});
function MyDataTable(){
$('#TableID').DataTable({
//Blah Blah Blah
});
}
基本上,在加载文档后调用该函数。