0

我有这个结构

<div>
    <ul>
        <li>...</li>
        <li....
        ...
    </ul>
</div>

在jQuery中

$(div).click(function(){...});
$(li).click(function(){....});

现在我的问题是当我点击 li 时,div click 事件也会触发。单击 li 时如何设置为仅触发 li click 事件。

4

5 回答 5

3
$(div).click(function(){...});
$(li).click(function(ev){ ev.stopPropagation(); /* other code here */ });

使用stopPropagation()

于 2012-08-10T10:14:10.253 回答
3

请执行下列操作:

$(li).click(function(e) {e.stopPropagation()...})
于 2012-08-10T10:14:27.083 回答
2

lis 事件返回 false,这将阻止它在 DOM 树中冒泡。

更新,并且作为好的措施也是event.preventDefault()如此,event作为传递给处理函数的第一个参数。

于 2012-08-10T10:14:05.293 回答
1

您可以使用event.stopPropagation() 之类的

$(li).click(function(event){ event.stopPropagation() });
于 2012-08-10T10:15:27.700 回答
0

这将有助于

$(li).click(function(event) {
    event.stopPropagation()
    //you code here
})
于 2012-08-10T10:15:03.777 回答