问候, 这个问题与ASP.NET MVC有关 我正在使用AJAX动态创建一些div(一些视图动态呈现)。在这些视图中,有一些JS代码。当用户点击链接时,我想用谷歌地图打开对话框。但是,因为这些视图是动态呈现的,所以它不起作用,因为没有注入js代码(在页面源中可以看到)。我该如何解决这个问题?
答案 0 :(得分:0)
一些想法:
如果可能,请使用live
在动态加载视图的页面上添加处理程序。如果您有所有已加载div的公共处理程序,请使用此选项。
$('a.map-link')。live('click',function(){ ...打开对话框中单击的链接 });
在AJAX成功回调中添加处理程序。如果处理程序根据加载的div可预测地不同,请使用此方法。
$。AJAX({ ... 成功:函数(数据){ $(data.html).appendTo(...) 。找到') .click(function(){ ...在处理程序中使用数据的其他部分 }); } });
在加载AJAX的代码中包含javascript,但在正文中,而不是head元素。如果代码特定于加载的html,并且不能轻易地为所有视图进行抽象,请使用此选项。
查看
<body>
<div>specific stuff for this view</div>
<script type="text/javascript">
... this code **will** be executed when loaded ...
</script>
</body>
页面加载视图
$.ajax({
....
success: function(html) {
$(html).appendTo(...);
}
});