在 ASP.NET MVC 中,在通过 Ajax 加载的局部视图上运行 Javascript 的首选模式是什么?
例如,假设您需要在局部视图中连接一些点击事件。
当然,在局部视图中放置这样的东西是行不通的,因为在局部视图加载 Ajax 后不会触发文档就绪事件。
<script type="text/javascript">
$(function() {
$("a.foo").click(function() {
foo();
return false;
});
});
</script>
我想这样的事情可能会奏效,但它安全吗?
<script type="text/javascript">
$("a.foo").click(function() {
foo();
return false;
});
</script>
我一直使用的模式是在加载部分后从我的父视图运行任何 Javascript,如下所示:
$.get(url, function(html) {
$("#partialDiv").html(html);
// Now that the partial has loaded...
RegisterClicks();
});
但我一直在研究这个例子,并注意到他们只是将点击注册代码内联在局部视图中。
这是一种普遍安全的模式吗?如何确保在我的脚本运行之前部分视图的 DOM 已完成加载?