css - 多个 onClick 事件触发

标签 css html onclick

我有几个相互嵌套的 div。每个都有自己的 onclick 事件。所以,想象一下它就像一个三明治,最底层是面包(这一层在地理上比嵌套在里面的那些要大),然后是生菜,然后是上面的番茄。

所以,它看起来像这样:

---------------------------
| Bread                   |
|                         |
| ----------------------- |
| | Lettuce             | |
| |                     | |
| | ------------------- | |
| | |Tomato           | | |
| | |                 | | |
| | |   <*click>      | | |
| | |                 | | |
| | |                 | | |
| | ------------------- | |
| ----------------------- |
---------------------------

目前,当用户点击西红柿时,它会触发西红柿的正确序列,但随后出现问题。因为一旦发射番茄,它就会递归发射生菜,最后发射面包。

我想它这样做是因为从技术上讲,用户确实在这些 div 中单击,但只是因为番茄嵌套在其中。

应该的工作方式是,如果用户点击三明治的番茄部分,那么它应该只触发番茄的事件。另一方面,如果用户点击在西红柿后面露出的生菜部分,那么它应该触发生菜。

所以,我的问题是,是否可以使 div 对于点击“不透明”,这样即使它们相互嵌套,也只有实际点击的那个才算数。

最佳答案

您可以在当前处理程序代码之后添加一个 return false 以防止点击冒泡或传播...这就是导致父级上的 click 事件的原因元素。

我建议阅读以下内容以更好地理解正在发生的事情:quirksmode.org's excellent explanation of event bubbling .

关于css - 多个 onClick 事件触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3808644/

相关文章:

php - Ajax 响应冲突的 css

php - 将 HTML 属性从 onclick 事件传递给 jQuery 函数

javascript - 类似 ipad 的 html 滚动组件

javascript - 在使用 Javascript 或 HTML 提交之前修改输入值

javascript - 使用 jQuery 查找事件对象

jquery - 如何更改点击时的图片来源?

javascript - 如何打印 HTML 页面的选定部分?

html - anchor 标记在 IE7 中不起作用

javascript - 在导航栏中放置一个文本横幅

java - 在 Java 中嵌入 HTML 文件