问题描述
解决方案可能很明显,但是当单击.remove
元素时,我试图删除作为父级的整个.tag
元素。
当前,单击.remove
元素没有响应。
的HTML
'<div class="tag"><input id="' + id + '" type="hidden" name="' + name + '" value="' + value + '" />' + input + '<i class="remove dismiss fa fa-remove"></i></div>'
JS
$('.remove').on('click', '.remove', function() {
$(this).parent().remove();
});
1楼
尝试以下操作:在动态添加删除链接时,您需要使用.on()
注册点击处理程序。
但是在您的情况下,使用.on()
会出错。
请使用下面的代码。
$(document).on('click', '.remove', function() {
$(this).parent().remove();
});
有关更多信息
2楼
您可以尝试以下方法:
$('.remove').on('click', function() {
$(this).parent().remove();
});
3楼
您不应该始终将事件委托给已委托的同一元素。
您需要选择一个静态父对象 。
在我的示例中, document
对象是所有对象的父对象。
$('body').on('click', '.remove', function() {
$(this).parent().remove();
});
4楼
问题可能是您将事件绑定到.remove,如果此内容是动态的,则可能有问题。 在这种情况下,最好绑定到文档。
$(document).on()
回调具有事件参数,可使用该参数将其删除。
function(e) {
$(e.currentTarget).parent().remove();
}
检查是否取消删除元素。