2013-03-29 97 views
1

我是.append()'通过jQuery处理某些HTML - 它的功能应该如此。但是,功能.detach()(功能低于// close thankyou message)不会删除附加的HTML。没有控制台错误......并且似乎无法注意/弄清楚我做错了什么。onClick .hide()与点击相同的DIV

如何分离我点击时附加的“谢谢你的留言”?当我点击它时,没有任何反应。

  // Thank You Confirmation 
      // Example Modal 
      var tyOverlay = 'thankyouOverlay'; 
      var thxMsg = 'thanksBox'; 

      $('.campaign-form-submit').on('click', function() { 
       $('#campaign-wrap').append(     
        '<div id="' + tyOverlay + '">' +   
         '<div class="' + thxMsg + ' shadow">' + 
          '<div class="ty-msg left">THANK YOU! YOUR ENTRY HAS BEEN RECEIVED.</div>' + 
          '<div class="ty-close left">' + 
           '<div class="ty-close-icon"></div>' + 
          '</div>' +  
         '</div>' + 
        '</div>' 
        ); 
       $('#' + tyOverlay + ', .' + thxMsg + '').hide(); 
       $('#' + tyOverlay + '').fadeIn(400, function() { 
        $('.' + thxMsg + '').slideDown(200); 
       }); 
       return false; 
      }); 
      // close thankyou message 
      $('#thankyouOverlay').on('click', function (e) { 
       e.preventDefault(); 
       $(this).detach(); 
      }); 

回答

2

#thankyouOverlay不存在,直到被点击.campaign-form-submit。无论是移动#thankyouOverlay点击其它功能的内部使用授权绑定:

$(document).on('click', '#thankyouOverlay' ... 
+0

我喜欢这个... 问题虽然 - 如何做的不存在?当单击'#thankyouOverlay'时,该函数是否会运行并查看它存在于DOM中? –

+0

此外,你说它应该像'$(document).on('click','#thankyouOverlay',function(){...'?我从来没有使用这个选择器方法。 –

+1

@MikeBarwick是的,你可以使用与''''''相同的'函数','*(“#thankyouOverlay”)。on'在* binding *时间被调用,如果在调用'.on'时'#thankyouOverlay'不存在,并在 –

0

尝试类似的措施:

 // Thank You Confirmation 
     // Example Modal 
     var tyOverlay = 'thankyouOverlay'; 
     var thxMsg = 'thanksBox'; 

     $('.campaign-form-submit').on('click', function() { 
      $('#campaign-wrap').append(     
       '<div id="' + tyOverlay + '">' +   
        '<div class="' + thxMsg + ' shadow">' + 
         '<div class="ty-msg left">THANK YOU! YOUR ENTRY HAS BEEN RECEIVED.</div>' + 
         '<div class="ty-close left">' + 
          '<div class="ty-close-icon"></div>' + 
         '</div>' +  
        '</div>' + 
       '</div>' + 
       "<script>// close thankyou message \ 
        $('#thankyouOverlay').on('click', function (e) { \ 
        e.preventDefault();\ 
        $(this).detach();\ 
       });</script>" 
       ); 
      $('#' + tyOverlay + ', .' + thxMsg + '').hide(); 
      $('#' + tyOverlay + '').fadeIn(400, function() { 
       $('.' + thxMsg + '').slideDown(200); 
      }); 
      return false; 
     }); 
+0

谢谢!不知道我是追加'

  • 11. 点击链接里面div射击div的onclick
  • 12. hide div当点击div和显示第二格
  • 13. 用同一div替换div onclick与jQuery
  • 14. 前置两个div,在计数器相同的计数点击
  • 15. 显示上点击相同的按钮不同的div - 角JS
  • 16. div onclick切换需要两次点击
  • 17. Onclick用相同的点击刷新然后href?
  • 18. jquery多个点击同一个div与动画点击
  • 19. 每次点击一个按钮时加载相同的div
  • 20. 的jQuery的div的onclick点击DIV中一个href
  • 21. ViewFlipper与不同点击监听器的相同视图
  • 22. 在相同的按钮点击,Div淡出和淡入
  • 23. 点击图标时,onclick div与图标不起作用
  • 24. 点击不同的DIV标签
  • 25. Reactjs:更换DIV(dynamicaly填充有同一类)的onclick与只有点击的元素新的div
  • 26. 与NAME相同的命名定位点(A)与DIV ID冲突相同
  • 27. 每次点击href使用jquery显示相同的DIV
  • 28. .hide()隐藏在容器div点击而不是只处理?
  • 29. jquery hide div当点击搜索按钮并显示结果
  • 30. 使用jquery hide()和show()时,div上的链接不可点击包含div