我有一些在表中动态创建的链接,这些链接的href
发送GET
请求以删除用户。我有这样的听众:
var $usersTableBody = $('#table-users tbody');
var $deleteUserBtn = $('.delete-user-btn');
$usersTableBody.on('click', $deleteUserBtn, deleteConfirm);
我需要获取href
的{{1}},问题是现在我无法获取我点击的$deleteUserBtn
链接,因为事件已绑定到表体。那么......我该怎么做呢?
答案 0 :(得分:3)
让你轻松
// this argument should be a string
// ↓
$('#table-users tbody').on('click', '.delete-user-btn', function(e) {
alert(this.href); // "this" is the event target / source
});
请参阅http://api.jquery.com/on/#on-events-selector-data-handler
<强>选择强>
键入:字符串
一个选择器字符串,用于过滤触发事件的所选元素的后代。
答案 1 :(得分:2)
$(document).on("click", "a.delete-user-btn", function(event) {
// prevent default action, to not affect any other
// event handlers attached to `a.delete-user-btn`
event.preventDefault();
// do stuff with `this` : `a.delete-user-btn` `href` property
console.log(this.href)
})
答案 2 :(得分:0)
首先,请参阅jQuery&#39; on的文档,因为您没有使用正确的参数。
我不知道HTML的确切性质,但您可以使用事件回调对象的target属性来确定href:
$usersTableBody.on('click', function(e) {
var $target = jQuery(e.target);
alert('clicked: ' + $target.attr('href'));
deleteConfirm();
// delete action
});