2012-08-04 50 views
1

我正在使用AJAX和jQuery在ASP.Net中使用MVC3技術。無法使用jquery觸發超鏈接事件

根據我的要求,我創建了一個動態表。有一個超鏈接,每個tr的每個最後td,如:<a href = "#">edit</a>

我已經封裝了在用戶定義函數中生成表的代碼,但問題是,無論何時我想使用jQuery從函數外部生成超鏈接的click事件,表都不會被頁。當然,它無法識別表格的子項以及超鏈接等屬性,所以我無法觸發超鏈接的單擊事件。

請幫我找出解決方案。

+0

你能否給我們提供一些代碼,甚至更好的小提琴? – Pevara 2012-08-04 20:25:47

+0

你能告訴我們你的代碼嗎?你的問題並沒有太大的意義。 – 2012-08-04 20:26:47

回答

2

我建議你面臨的問題是事件沒有被綁定到動態生成的元素上(因爲它們在事件綁定點不存在於DOM中)。爲了解決這個問題,使用on(),並通過選擇來識別元素類型時要處理事件:

$(selector).on('click', 'table a', function(e){ 
    // do stuff here when a link inside a table is clicked 
}); 

或者你可以使用delegate()代替(jQuery的版本比1.7更低):

$(selector).delegate('table a', 'click', function(e){ 
    // do stuff here when a link inside a table is clicked 
}); 

參考文獻: