1

我正在 ASP.Net 中使用带有 AJAX 和 jQuery 的 MVC3 技术。

根据我的要求,我动态创建了一个表。每个 的最后一个都有一个超链接tdtr例如:<a href = "#">edit</a>

我已经在用户定义的函数中封装了生成表格的代码,但问题是每当我想从函数外部使用 jQuery 生成超链接的单击事件时,页面都无法识别表格。自然它无法识别表的子项以及属性,例如超链接,因此我无法触发超链接的单击事件。

请帮我找出解决方案。

4

1 回答 1

2

我建议您面临的问题是事件没有绑定到动态生成的元素(因为它们在事件绑定时不存在于 DOM 中)。为了解决这个问题,使用on(),并传递一个选择器来识别你想要处理事件的元素类型:

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

或者你可以delegate()改用(在低于 1.7 的 jQuery 版本中):

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

参考:

于 2012-08-04T20:29:47.090 回答