我使用JavaScript創建了以下html,我希望能夠聽取channel_li
和client_li
上的點擊。帶有點擊嵌套創建元素的jQuery preblems
生成的HTML
<li cid="4" class="channel_li" style="display: list-item;">Random<ul class="client_ul">
<li class="client_li" clid="14" style="">Hanekawa</li></ul>
</li>
的第二代碼片段是我使用生成的元素和分配一個click事件的JavaScript。我遇到的問題是,當我點擊channel_li時沒有任何反應,當我點擊client_li
時,它會觸發channel_li
聽衆。無論如何解決這個問題?
JS
// Some generation code here.
// $li here is the created channel_li element.
$($li).on("click", "li", function() {
console.log("channel click");
});
// More generation code.
// $foo here is the client_li element.
$($foo).on('li', 'click', function() {
console.log("client click.")
});
在這樣做時它正確註冊在client_li的點擊,但同時也註冊的所有channel_li元素的點擊。 –
因爲這是stopPropagation();停止頻道並僅執行客戶端,請參閱現場演示。 –
是的,我知道了,但每次點擊其中一個點擊channel_li元素時,它會在所有元素上註冊點擊,而不僅僅是點擊點擊元素。它在單擊client_li時正常工作。 –