在剃须刀内调用外部 js 函数
call external js function within razor
我有这个代码:
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 语句为真时,我想调用它。我怎么称呼它?因为我现在的语法不起作用。
进行了一些调试,我可以看到 IF 语句工作正常。唯一的问题是如何调用存储在 scripts.app.js.
中的函数
提前感谢您的帮助。
正如您的评论所述,您的 scripts.app.js 是在 </body>
之前注入的。这意味着脚本的功能在 由浏览器评估后可用。因为您尝试 运行 您的脚本 在 发生之前,它不会检测到您的 X()
函数。
使用 document ready
确保所有脚本都被评估:
if (String.IsNullOrEmpty(stringQueryElement) && !upcoming.Any())
{
<script type="text/javascript">
$(function() {
X();
});
</script>
}
}
(假设您使用的是 jQuery)
我有这个代码:
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 语句为真时,我想调用它。我怎么称呼它?因为我现在的语法不起作用。 进行了一些调试,我可以看到 IF 语句工作正常。唯一的问题是如何调用存储在 scripts.app.js.
中的函数提前感谢您的帮助。
正如您的评论所述,您的 scripts.app.js 是在 </body>
之前注入的。这意味着脚本的功能在 由浏览器评估后可用。因为您尝试 运行 您的脚本 在 发生之前,它不会检测到您的 X()
函数。
使用 document ready
确保所有脚本都被评估:
if (String.IsNullOrEmpty(stringQueryElement) && !upcoming.Any())
{
<script type="text/javascript">
$(function() {
X();
});
</script>
}
}
(假设您使用的是 jQuery)