繁体   English   中英

从Document.ready中的bundle执行javascript

[英]Execute javascript from bundles in Document.ready

我使用MVC4默认模板。

我在/Scripts/MyApp/添加了一个脚本: MyScript.js

function Testing()
{
    alert('test');
}

在global.asax中:

 bundles.Add(new ScriptBundle("~/bundles/myapp").Include(
    "~/Scripts/MyApp/MyScript.js"));

我想在/Views/Home/Index.cshml调用此方法

我尝试了下面的代码,但没有成功:

<script type="text/javascript" lang="javascript">
    $(document).ready(function () {
        Testing();
    });
</script>    

@Scripts.Render("~/bundles/myapp")

当我查看源代码时, MyScript.js的链接就在那里,我可以导航到它(转到源代码)

但是$(document).readyTesting()方法没有被执行。

UPDATE1

<script type="text/javascript" lang="javascript">

    $(document).ready(function () {
        alert("test");
    });
</script>

捆绑包后尝试将内联脚本放入。 此外,不推荐使用script标记上的lang属性:

@Scripts.Render("~/bundles/myapp")

<script type="text/javascript">
    $(document).ready(function () {
        Testing();
    });
</script>    

更新:

好的,我想你忘了包含jquery,所以$函数没有定义:-)

所以如果你想用bundle做:

bundles.Add(new ScriptBundle("~/bundles/myapp").Include(
    "~/Scripts/jquery-{version}.js", "~/Scripts/MyApp/MyScript.js")
);

或者如果您不想使用捆绑包:

<script type="text/javascript" src="~/scripts/jquery-1.7.1.js"></script>
<script type="text/javascript" src="~/scripts/MyScript.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        Testing();
    });
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM