Jquery 在rails中通过ajax关闭模式窗口

Jquery 在rails中通过ajax关闭模式窗口,jquery,ruby-on-rails,ajax,jquery-ui,ruby-on-rails-4,Jquery,Ruby On Rails,Ajax,Jquery Ui,Ruby On Rails 4,不确定使用jquery是否是关闭此通过ajax呈现的模式窗口的正确方法 $ -> $('body').on 'click', '#Close', -> $("#Root").hide() 当我尝试这个时,它只起作用一次。如果单击另一个对象以打开不同的模式窗口,则隐藏不起作用 #Root #Bg #Main #Info #MainControls #Close{style: "cursor:pointer;"} %a.C

不确定使用jquery是否是关闭此通过ajax呈现的模式窗口的正确方法

$ ->
  $('body').on 'click', '#Close', ->
    $("#Root").hide()
当我尝试这个时,它只起作用一次。如果单击另一个对象以打开不同的模式窗口,则隐藏不起作用

#Root
  #Bg
  #Main
    #Info
    #MainControls
      #Close{style: "cursor:pointer;"}
        %a.CloseButton
          %i X
正在通过以下方式渲染模式窗口:

$('body').append('<%= j render partial: "trips/quick_view" %>');

模态窗口会生成动态内容,因此我不确定关闭此窗口的最佳方式是什么,并且在人们关闭和打开不同对象时不会延迟应用程序。

在对响应进行评论后,我明白了我需要做什么,我只需要使用
.remove()
而不是
.hide()
。这是可行的,不确定这是否是最终正确的方法,所以除非有更好的答案,否则我将把这一条划掉

$ ->
  $('body').on 'click', '#Close', ->
    $("#Root").remove()

不要使用
#Root
(ID),而是尝试使用
.Root
(class)。@ZulhilmiZainudin-hmmm不确定为什么添加close会有帮助?检查在加载所有javascript时是否加载了
#close
标记。如果它动态出现在页面上,您应该使用
$(文档)。在“单击”时,“关闭”
,而不是作为
$(“正文”)
仅在加载javascript时将事件侦听器添加到标记中。@Kkulikovski的文档不起作用。问题是它不应该隐藏它,因为它将容器留在DOM中,我需要关闭它。刷新页面时,
#Root
不在DOM中。
$ ->
  $('body').on 'click', '#Close', ->
    $("#Root").remove()