捕获和冒泡事件
Capturing and bubbling events
本文关键字:事件 更新时间:2023-09-26
我创建了下一个jsfiddle:
http://jsfiddle.net/AHyN5/6/这是我的代码:
var mainDiv = document.getElementsByClassName('mainDiv');
var div = mainDiv[0].getElementsByClassName('data');
mainDiv[0].addEventListener("click", function(e) {
alert('1');
});
$(mainDiv[0]).children('img').click(function (e) {
e.stopImmediatePropagation()
return false;
})
我想点击粉红色的背景将弹出一个消息值为1(一个警告消息)。
当点击黄色时,我不希望发生任何事情。
我读了这个博客,但是没有成功。
感谢任何帮助!
我同意其他人使用jQuery或直接调用DOM的说法。
下面是另一个jQuery解决方案——与上面的非常相似。我继续展示它,因为它直接针对图像-以防这是你真正想要完成的。$(function()
{ var mainDiv = $('div.pink:first'),
imgs = $('img');
mainDiv.click(function()
{ alert('1');
});
imgs.click(function(e)
{ e.stopImmediatePropagation();
});
});
您可以将pointer-events: none;
添加到黄色类中。这将导致这些元素不触发点击事件。
查看更多信息https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events
混合了jQuery和DOM方法调用。还要注意,对于附加事件侦听器,您应该等待所有HTML文档准备就绪。
我建议使用DOM方法或jquery方法。下面是一个jquery的例子:
$(function(){
$('.pink:first').on("click", function(e) {
alert('1');
});
$('.yellow').on('click', function (e) {
e.stopPropagation();
});
})
请参阅此jsfield
相关文章:
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何使Javascript动态html表及其上的事件
- 使用类从一个标记中双击事件
- 如何在未直接触发的情况下停止事件
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 对iPad上的点击事件反应缓慢
- 事件和状态
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- 从控制器返回后Ajax启动事件激发
- 如何从画布上的某个移动事件中获取X和Y
- Jquery:未触发select事件
- JsFiddle上的鼠标事件不起作用
- 只覆盖箭头键滚动事件
- $window.ga在AngularJS事件中未定义
- cron作业与Javascript计时事件
- ng更改事件不适用于Dropdown