如何处理ajax加载的局部视图中的javascript?
发布时间:2020-12-16 02:48:37 所属栏目:百科 来源:网络整理
导读:在ASP.NET MVC中,在通过Ajax加载的部分视图上运行 Javascript的首选模式是什么? 例如,假设您需要在局部视图中连接一些点击事件. 当然,在局部视图中放置这样的东西是行不通的,因为在部分视图加载Ajax之后,文档就绪事件不会触发. script type="text/javascrip
在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(); }); 但我一直在研究this示例,并注意到他们只是将他们的点击注册代码内联在局部视图中. 这是一种通常安全的模式吗?在脚本运行之前,如何确保部分视图的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> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |