[英]jquery on() Proxy context unexpected
基本上,這是我的代碼,當單擊tags_delete時,我想訪問父div的ID。 不知何故,上下文沒有被拾取。 我已經閱讀了$ .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
引用未引用clicked元素,因此您可以使用event.currentTarget屬性引用當前目標元素,並使用parent()訪問其id
$("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));
演示: 小提琴
如果要獲取父ID,只需使用parent()
函數, 這是我的小提琴示例
$(document).ready(function()
{
$("a.tags_delete").on("click",function(){
alert($(this).parent().attr('id'));
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.