2013-03-07 74 views
0

當你點擊一個文件夾時,按鈕/鏈接預置在導航部分,但是當我點擊添加的按鈕時,它將無法工作。由於某些原因,它無法識別我的點擊事件..?點擊動態創建的鏈接無法識別點擊事件

我正在處理的快速視頻。 https://www.youtube.com/watch?v=NsW1uLbRd9w

我很笨,爲什麼它不工作ahhhh 任何幫助將是真棒,謝謝。 如果你需要更多的代碼,我可以發送它,如果需要的話。

<script> 
     $(function() { 
     // When folder is clicked open it 
     $('button.<?php echo $row->folderName; ?>').bind('click', function() { 
      $('.open.<?php echo $row->folderName;?>').show(); 
       // if folder is open then Prepend homebtn button to nav 
       var k = $('.open').css('display'); 
       if(k == 'block') { 
       $('.nav').prepend('<a class="gohome">HELLO</a>'); 
       } 
     }); 
      $('.gohome').live('click', function() { 
       $('.open.<?php echo $row->folderName; ?>').hide(); 
       }); 

     }); 
    </script> 
+1

'.live()'和'.bind()'?你最近一次更新jQuery的時間? '.bind()'沒問題,它可以工作(現在是'.on()'),但不建議使用'.live()'。 – Popnoodles 2013-03-07 03:57:08

+0

我沒有想到.live工作了,但我絕望了,還有其他建議嗎?我應該用什麼來代替.bind? – 2013-03-07 03:57:57

+0

謝謝,我會嘗試。不認爲這是問題。 – 2013-03-07 03:58:59

回答

0

要綁定到將來的元素,您需要將該事件綁定到執行該過程時存在的父項。由於您的鏈接被添加到.nav,這就是我們可以使用的。我假設此代碼運行時存在.nav.。如果沒有,請使用$(document).on('click'...

$('.nav').on('click', '.gohome', function() { 
     $('.open.<?php echo $row->folderName; ?>').hide(); 
    }); 
+0

非常感謝您的支持幫助和理解。它結束了你的代碼:) – 2013-03-07 04:11:17