在剃刀内调用外部js功能

时间:2015-01-15 08:11:41

标签: javascript razor web

我有这段代码:

Html.RequiresJs("~/Scripts/site/scripts.app.js", 5);
@{

if (String.IsNullOrEmpty(stringQueryElement) && !upcoming.Any())
    {   
        <script type="text/javascript">
            X();
        </script>
    }
}

scripts.app.js 文件中,我有一个函数X(),当我的if语句为true时,我想调用它。我怎么称呼它?因为我现在的语法不起作用。 做了一些调试,我可以看到IF语句正常工作。唯一的问题是如何调用存储在 scripts.app.js 中的函数。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

正如您的评论所述,您的scripts.app.js是在</body>之前注入的。这意味着脚本的功能在浏览器评估后 >后可用。由于您尝试在之前运行脚本,因此无法检测到您的X()功能。

使用document ready确保评估所有脚本:

if (String.IsNullOrEmpty(stringQueryElement) && !upcoming.Any())
    {   
        <script type="text/javascript">
            $(function() {
                X();
            });
        </script>
    }
}

(假设您正在使用jQuery)