【发布时间】:2014-12-02 10:24:38
【问题描述】:
我正在尝试使用 Javascript 进行简单的自动输入。我的问题是,如果我从视图 (.cshtml) 中调用它,自动输入将无法按顺序运行。
我的cshtml是这样的:
<script type="text/javascript" src="@Url.Content("/Scripts/autotype.js")"></script>
@foreach (var temp in @Model)
{
<script>
auto_type("ABCDEFG", 0)
</script>
}
<div id="divauto"></div>
它是 autotype.js :
function auto_type(wrt, i) {
wrt = wrt.split('');
var delay = 100;
while (i < wrt.length) {
setTimeout(function () {
$('#divauto').append(wrt.shift())
}, delay * i)
i++;
}
}
从这些代码中,输出将类似于“AAABBBCCCDDDEEEFFFGGG”,但我需要的输出类似于:“ABCDEFGABCDEFGABCDEFG”
【问题讨论】:
-
输出是“ABCDEFG”,而不是“AAABBBCCC...”。
-
我在我的 repro 中得到了这个
AAAAABBBBBCCCCCDDDDDEEEEE。 -
我真的会质疑您是否需要使用 Razor 在这样的循环中输出脚本。为客户端行为保留脚本几乎总是更好,而将 Razor 用于服务器端行为。您当然可以使用 Razor 为您的客户端代码提供数据以进行操作,但是尝试像这样将两者混合使用是自找麻烦。
标签: javascript asp.net-mvc asp.net-mvc-4 razor