2013-03-29 32 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