如果我運行下面的代碼,我得到,因爲預期,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? –
究竟是什麼問題? –