Этот мой код, в основном, когда click_delete нажата, я хотел бы получить доступ к id родительского div. Каким-то образом контекст не подбирается. Я прочитал примеры $.proxy, но не могу заставить его работать.
<div class="text">
<div id="894" class="tags">
<img height="24" src="image">
<a class="tags_delete"></a>
</div>
<input id="tag_list" type="text">
</div>
$("div.text").on("click", "a.tags_delete",
$.proxy(function(that){
var imageId = that.parent("div").prop("id");
console.log(that);
console.log( imageId );
this.deleteTag(imageId);
}, this, $(this) )
);
Проблема в том, что вы использовали $.proxy(), this
внутри обработчика не относится к элементу с кликом, поэтому вы можете использовать свойство event.currentTarget для ссылки на текущий целевой элемент и использовать parent() для доступа к его идентификатору
$("div.text").on("click", "a.tags_delete", $.proxy(function (e) {
var imageId = $(e.currentTarget).parent().attr('id');
console.log(that);
console.log(imageId);
this.deleteTag(imageId);
}, this));
Демо: скрипка
Если вы хотите получить родительский идентификатор, просто используйте функцию parent()
Здесь мой пример скрипки
$(document).ready(function()
{
$("a.tags_delete").on("click",function(){
alert($(this).parent().attr('id'));
});
});
this.deleteTag(imageId)
?