gpt4 book ai didi

javascript - 应该如何处理 ajax 加载的局部 View 中的 javascript?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:03:45 24 4
gpt4 key购买 nike

在 ASP.NET MVC 中,在通过 Ajax 加载的局部 View 上运行 Javascript 的首选模式是什么?

例如,假设您需要在局部 View 中连接一些点击事件。

当然,将这样的东西放在分部 View 中是行不通的,因为在分部 View 加载 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>

我一直使用的模式是在加载部分后从我的父 View 运行任何 Javascript,如下所示:

$.get(url, function(html) {
$("#partialDiv").html(html);

// Now that the partial has loaded...
RegisterClicks();
});

但我一直在研究 this例如,并注意到他们只是将点击注册代码内嵌在局部 View 中。

采用这种模式通常是安全的吗?如何确定局部 View 的 DOM 在我的脚本运行之前已完成加载?

最佳答案

jQuery .on() 函数应该可以解决问题,不是吗?它应该适用于动态添加的内容。

将其作为完整内容的一部分提供

<script type="text/javascript">
$(function() {
$("#partialContent").on("click", "a.foo", function() {
foo();
return false;
});
});
</script>

<div id="partialContent">
<a href="#" class="foo">Link 1</a>
<a href="#" class="foo">Link 2</a>
<!-- More dynamic content -->
</div>

关于javascript - 应该如何处理 ajax 加载的局部 View 中的 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14838789/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com