jQuery - 如何防止html隐藏元素?

时间:2011-12-02 04:10:58

标签: jquery

我有一个带切换的ul li子列表。

ul
   li a.trigger
       ul.sub_list li
   li
   li

事件 - 点击。

点击a.trigger后,ul.sub_list会显示。 隐藏ul.sub_list。我需要点击a.trigger或html元素。

问题是当用户点击hide()项时,如何从ul.sub_list ul.sub_list停止html。

示例:http://jsfiddle.net/zYgfr/

这就像facebook通知一样。

2 个答案:

答案 0 :(得分:1)

添加:

$(".sub_list a").click(function(event){
       event.stopPropagation();
});

默认情况下,当单击一个元素时,它会向上传播到DOM中。

因此,当单击链接时,最终在传播到每个父级之后,事件将到达HTML根元素,从而触发其路径上的任何事件处理程序。

为了阻止它,我们调用event.stopPropagation()。

答案 1 :(得分:0)

我会这样做: http://jsfiddle.net/zYgfr/4/