首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.click()事件

.click()事件
EN

Stack Overflow用户
提问于 2013-12-09 19:42:36
回答 1查看 114关注 0票数 0

朋友们,我有点想不通,所以决定请你们.

我有以下HTML结构(或多或少):

代码语言:javascript
复制
<li>
  <a>
    <div></div>
    <div></div>
    <div></div>
  </a>
</li>

divs被设置为内联块,锚被设置为阻止列表元素有一个css悬停类和一个活动/单击模式类。悬停样式正在运行于li.hover:悬停,但单击的类不适合我,因为单击事件触发的是子处理程序(Div),而不是列表。

所以我的问题是,我怎样才能把父母设置为可点击的元素而不是孩子。如果您能够解释一下为什么它与悬停事件不同(为什么会触发父事件的悬停事件处理程序,而不是子事件处理程序,比如单击),那将是非常可怕的,因为我想完全了解css和事件是如何工作的。

编辑-

我有一个jquery事件处理程序。

代码语言:javascript
复制
$(".mylist").click(function(e){
$(this).addClass('selected');

});

问题是,这并不像我点击时那样启动,因为div似乎是“重叠的”父。也不希望使用z索引..。(但我不知道是否该走了)谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-09 19:57:31

当您单击您的div时,单击事件会通过ali冒泡。因此,如果您将侦听器添加到li,而不是div,那么一切都应该正常工作。

当然,如果div的单击处理程序调用event.stopPropagation,那么li的处理程序就不能工作。与a元素上的单击处理程序相同。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20479244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档