有一个列出用户的网格(只是 html 表),您可以通过单击删除链接来删除特定用户。我通常的做法是
<% foreach (var user in Model.Users) {%>
<tr >
<td align="right"><%= user.Name %></td>
<td><%= user.Level %></td>
<td align="center">
<a href="#" onclick="return deleteUser('<%= user.Name %>');">
<%= Html.Image("trash.gif") %>
</a>
</td>
</tr>
<% )%>
但我想以一种不显眼的方式将点击事件附加到链接。我的意思是,我不想在标签内指定 javascript 方法。我不确定用 jQuery 实现它的最佳方法是什么,通过参数传递绑定(bind)多个 anchor 标记。
最佳答案
您可以使用 delegate()
表上的方法:
$('#tableId').delegate('a', 'click', function(e) {
e.preventDefault();
// get the user name
deleteUser($(this).closest('tr').children(':first').text());
// or give the cell that contains the name a class
// deleteUser($(this).closest('tr').children('.name').text());
});
这样,您只需注册一个事件处理程序。
关于javascript - 将 jQuery 单击事件绑定(bind)到表格每一行上的每个 anchor 标记的最佳做法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4124515/