如果我运行下面的代码,我得到,因为预期,1,因为a元素是在div元素内。一个元素点击和文档点击层次结构
HTML:
<div class=".holder">
<a href="#" class=".link">a</a>
</div>
的jQuery:
$(document).click(function (e) {
alert($(e.target).closest(".holder").length);
});
现在,一个元素中需要重新填充的div元素,包括一个元素本身,所以:
$(".link").on("click", function (e) {
e.preventDefault();
$(".holder").html("some html");
});
问题是:因为文档点击发生在a元素点击(有意义,层次结构)之后,如果我点击ae lement,我得到0而不是1,因为一个父元素不再存在,而a元素本身只存在于内存中。
有没有办法解决这个问题,而不检查一个元素点击自己?
究竟是什么你想实现什么?你只需要$(e.target).closest(“。holder”).length'来提醒1? –
究竟是什么问题? –