是否有可能只在顶部元素上使用jQuery.click触发器?

时间:2009-02-25 04:52:04

标签: javascript jquery

我正在尝试创建一个网站,用户可以点击任何元素来编辑它的CSS。我使用以下命令将click函数添加到所有lis,div和uls。

$('li,div,ul').click(function () {  

alert(this.id); 

});

问题是,如果我点击一个li元素,那么我会得到它的警报,以及它下面的任何元素。 (所有容器)。

单击时是否可以只触发顶部元素?

3 个答案:

答案 0 :(得分:17)

您希望停止事件传播,您可以通过调用事件对象上的stopPropagation方法在jQuery中执行此操作。

$('li,div,ul').click(function (e) {  
    e.stopPropagation();
    alert(this.id); 
});

答案 1 :(得分:1)

我相信你想要使用stopPropagation();在点击功能中。

答案 2 :(得分:1)

听起来像你正在寻找.stopPropagation()。调用stopPropagation将阻止事件“冒泡”到父容器。