即使事件处理程序也以父元素为目标,也只以子元素为目标
Only target child element even if event handler targets parent as well
<section id="first">
<h1>Colors</h1>
<section id="red">
<h1>Red</h1>
<section id="apples">
<h1>Apples</h1>
</section>
<section id="apples">
<h1>Strawberries</h1>
</section>
</section>
<section id="orange">
<h1>Orange</h1>
</section>
</section>
$('section').click(function(){
$(this).css('color','yellow');
});
http://jsfiddle.net/J9kAV/我想让section
s在点击时变成黄色。然而,由于$('section')
也可以引用它们的父元素,它也将CSS应用于它们。
我怎样才能告诉jQuery只对被点击的子元素应用CSS而不是父元素?
我不想使用$('section section')
,因为我也希望父元素变成黄色,如果他们被特别点击。所以我需要一个JavaScript/jQuery解决方案,而不是一个选择器或HTML解决方案。
使用
e.stopPropagation();
例子: http://jsfiddle.net/8KLEK/
试试这个:
$('section').click(function(e){
e.stopImmediatePropagation();
$(this).css('color','yellow');
});
正确的方法是将'this'改为'e.target';
$('section').click(function (e) {
$(e.target).css('color','yellow');
});
http://jsfiddle.net/J9kAV/5/关于为什么这个工作的更多信息。https://developer.mozilla.org/en-US/docs/Web/API/event.target
相关文章:
- 内容以其开头的目标元素
- 在 Jquery 中获取目标元素的属性
- 使用next()的jQuery目标元素不起作用
- 无法让悬停事件使用 jQuery UI 持续时间参数或 CSS 处理目标元素的同级元素
- 在 jquery not 选择器中具有 2 个类的目标元素
- 目标元素边缘的触摸启动会导致鼠标按下
- 具有 ID AND 类的 jQuery 选择器目标元素不起作用
- 如何在结构中获取目标元素的属性值.js
- 获取将被鼠标悬停的目标元素
- om/react:操作呈现目标元素之外的元素
- 具有不同 id 的目标元素 Jquery
- 如何动态更改基于目标元素的绝对工具提示的位置
- 目标元素由 attr 然后附加类 jQuery
- 多个语义 UI 弹出窗口,其中目标元素在每个实例的 atribute 中定义
- 对 HTML 列表进行排序,然后对目标元素进行排序
- 无法获取目标元素
- TinyMCE 编辑器中的目标元素
- 脚本 600:此操作的目标元素无效.(仅限 IE)
- 突出显示定位点的目标元素内的元素
- 单击即可动态更改目标元素