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

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

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

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

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

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

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

我相信你想要使用stopPropagation(); 在点击function内。

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