2011-10-02 53 views
0

雖然我有研究這個話題,但我似乎並不明白如何使它工作。JQuery .get和生成的PHP。如何綁定事件?

現狀:

下面的代碼是用來顯示我的網頁上的new_comments股利。

<script type="text/javascript"> 
    $(function(){ 
     $('#lnk_comment').click(function() { 
      //alert('Handler for .click() called.'); 
     $("#comment_new").show(); 
     $('#new_comment').focus(); 
     }); 
    }); 
</script> 

當PHP生成這些div標籤時,此代碼效果很好。

問題:

如果我不是通過JQuery的使用方法。獲得輸出使用JQuery,而不是結果查詢此PHP頁面,似乎上面不再起作用的功能。看起來好像click()事件似乎不會綁定到標籤。

我的猜測是DOM先加載並且JQuery數據加載後。

問題:

你如何添加/綁定Click事件已在運行時通過JQuery的/的JavaScript生成的標籤?

其他的想法:

我已經找到了在JQuery的關於一個.delegate功能,但多次嘗試後,我真的不似乎得到它。

謝謝你的任何例子。

回答

0

使用live()代替:

<script type="text/javascript"> 
$(function(){ 
    $('#lnk_comment').live('click', function() { 
     //alert('Handler for .click() called.'); 
     $("#comment_new").show(); 
     $('#new_comment').focus(); 
     }); 
    }); 
}); 
</script> 

這將自動綁定事件選擇匹配(在這種情況下#lnk_comment)新增加的DOM成員。

+0

好的。我得到它的工作。我不得不刪除第一個$(function(){和last});.看起來我有一個函數內的函數。 – ASPiRE