0

我一直在为我的应用程序中的动态渲染部分而苦苦挣扎。我有一个创建新记录并在此之后自行关闭的模式。我有一个 create.js.erb 负责关闭模式并将新记录附加到页面,如下所示:

$('#div-id').append('<p>Record was successfully created.</p>');
setTimeout("$('.close').click();", 3000);

$("#another-div").append('<%= escape_javascript(render(partial: "new_record")) %>');

它呈现部分并将其显示在我的页面上。但是,这个附加的部分有一个链接应该在点击时打开一个模型,但是在渲染之后它不起作用,我实际上必须重新加载页面并点击这个记录按钮才能看到模式。

为了显示这个模式,我有一个主干视图,它根据它的属性监听一个事件:

events:
  'click a[open-modal]': 'showModal'

也许它与这个主干视图有关,但我之前没有做过太多主干+咖啡脚本。

对不起新手问题。

提前致谢

4

1 回答 1

0

我也不熟悉骨干网,但根本问题是链接的侦听器没有附加到动态添加的页面元素。如果您使用的是 jQuery,您将使用on 方法来确保新添加的页面元素也具有附加到它们的侦听器:

$(document).on 'click', '.some_link_class', (event) ->
  #Do stuff!
于 2013-08-17T00:59:23.003 回答