在执行AJAX GET请求后动态呈现JavaScript代码时,如何使JavaScript正常工作?
我正在使用RubyonRails3.0.9和jQuery1.6.2。在执行AJAX HTTP get请求后,当JavaScript的代码作为部分模板呈现时,我试图让JavaScript正常工作。也就是说,我有以下代码来执行HTTP GET请求:在执行AJAX GET请求后动态呈现JavaScript代码时,如何使JavaScript正常工作?,javascript,jquery,ruby-on-rails,ruby,rendering,Javascript,Jquery,Ruby On Rails,Ruby,Rendering,我正在使用RubyonRails3.0.9和jQuery1.6.2。在执行AJAX HTTP get请求后,当JavaScript的代码作为部分模板呈现时,我试图让JavaScript正常工作。也就是说,我有以下代码来执行HTTP GET请求: # The 'articles.html.erb' file var jqxhr = $jQ.get('http://www.my_web_site.com') .success(function(data) { $jQ('#data_contai
# The 'articles.html.erb' file
var jqxhr = $jQ.get('http://www.my_web_site.com')
.success(function(data) {
$jQ('#data_container').replaceWith(data);
})
这就是将执行的HTTP请求返回给”的内容http://www.my_web_site.com“
URL(注意:这是一些JavaScript代码中的部分模板):
#“info_articles.html.erb”文件
'文章链接'%>
$jQ(“#文章链接”)。单击(函数(事件){
event.preventDefault();
...
});
在replaceWith
函数正确地替换了网页中与articles.html.erb
模板相关的数据之后,刚才呈现的Javascript(即info_articles.html.erb
中包含的Javascript)不起作用。在上面的示例中,我指的是单击事件处理程序:它根本无法按预期工作
为什么会发生这种情况?如何解决这个问题?在主文档中使用jquery绑定。我会这样做。但我会使用委托,它更快。你的控制台中有javascript错误吗?我认为上面的代码会起作用$jQ()是我假设的对jQuery的引用吗?$jQ()是一个非窗口对象吗?@Kyle Rogers不,我的控制台中没有javascript错误。是的,$jQ是我对jQuery的引用。
# The 'info_articles.html.erb' file
<%= link_to 'Article link', article_path(@article), :id => 'article_link' %>
<script type="text/javascript">
$jQ('#article_link').click(function(event) {
event.preventDefault();
...
});
</script>