Ajax动态创建div + javascript

时间:2010-05-30 18:18:09

标签: javascript ajax

问候, 这个问题与ASP.NET MVC有关 我正在使用AJAX动态创建一些div(一些视图动态呈现)。在这些视图中,有一些JS代码。当用户点击链接时,我想用谷歌地图打开对话框。但是,因为这些视图是动态呈现的,所以它不起作用,因为没有注入js代码(在页面源中可以看到)。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

一些想法:

  1. 如果可能,请使用live在动态加载视图的页面上添加处理程序。如果您有所有已加载div的公共处理程序,请使用此选项。

    $('a.map-link')。live('click',function(){      ...打开对话框中单击的链接  });

  2. 在AJAX成功回调中添加处理程序。如果处理程序根据加载的div可预测地不同,请使用此方法。

    $。AJAX({     ...     成功:函数(数据){          $(data.html).appendTo(...)                      。找到')                      .click(function(){                         ...在处理程序中使用数据的其他部分                      });     }  });

  3. 在加载AJAX的代码中包含javascript,但在正文中,而不是head元素。如果代码特定于加载的html,并且不能轻易地为所有视图进行抽象,请使用此选项。

  4. 查看

     <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(...);
        }
    });