我使用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时正常工作。 –