Ali*_*ani 2 html javascript jquery events
我不熟悉 javaScript 和 jQuery。当您单击其子元素时,如何调用父元素的单击事件?我的代码中有这个结构:
<ul id="pc5">
<li><a href="#">book</a>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我想要这样的东西:
$("a").click(ul.click);
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激。
编辑:在我的 ul 点击功能中,我需要 ul id 属性。像这样:
ul.click(function(e){alert(e.target.id);
Run Code Online (Sandbox Code Playgroud)
所以当链接被点击时, event.target 不是 ul 元素。
如果您的子元素位于您的父元素内,您也可以只添加此 CSS 属性。
.child {
pointer-events: none
}
Run Code Online (Sandbox Code Playgroud)
这样点击就直接触发了父级的点击事件监听器。
这个功能的支持是相当不错的。
当子元素被点击时,不需要触发元素点击事件,如果不停止传播bubbles
,点击事件会沿着dom树向上传播。
在这里你可以看到它的工作原理:jsfiddle只需单击蓝色跨度,单击事件就会冒泡到 ul :)
更新的问题
如果你想要 ul 的 id,只需:
$('ul li a').click(function() {
var id = $(this).closest('ul').attr('id');
});
Run Code Online (Sandbox Code Playgroud)
这样会更容易:
$('ul').click(function() {
var id = $(this).attr('id');
alert(id);
});
Run Code Online (Sandbox Code Playgroud)
如果你点击一个,这应该会起作用,因为它会冒泡