2012-08-04 51 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 
}); 

参考文献: