我正在尝试创建一个网站,用户可以点击任何元素来编辑它的CSS。我使用以下命令将click函数添加到所有lis,div和uls。
$('li,div,ul').click(function () {
alert(this.id);
});
问题是,如果我点击一个li元素,那么我会得到它的警报,以及它下面的任何元素。 (所有容器)。
单击时是否可以只触发顶部元素?
答案 0 :(得分:17)
您希望停止事件传播,您可以通过调用事件对象上的stopPropagation方法在jQuery中执行此操作。
$('li,div,ul').click(function (e) {
e.stopPropagation();
alert(this.id);
});
答案 1 :(得分:1)
我相信你想要使用stopPropagation();在点击功能中。
答案 2 :(得分:1)
听起来像你正在寻找.stopPropagation()。调用stopPropagation将阻止事件“冒泡”到父容器。