如何为要捕获的javascript单击事件选择多个元素?
我有这个HTML:如何为要捕获的javascript单击事件选择多个元素?,javascript,jquery,html,Javascript,Jquery,Html,我有这个HTML: <div id="outsideContainer"> <ul> <li>Hello</li> <li>Goodbye</li> </ul> </div> 有什么想法吗?大体上说,没问题。它不起作用的可能原因: 您在“outsideContainer”元素存在之前执行JavaScript,例如: ... <script> $('#outsideContainer').
<div id="outsideContainer">
<ul>
<li>Hello</li>
<li>Goodbye</li>
</ul>
</div>
有什么想法吗?大体上说,没问题。它不起作用的可能原因:
...
<script>
$('#outsideContainer').click(function() {
//do stuff
});
</script>
<div id="outsideContainer">
<ul>
<li>Hello</li>
<li>Goodbye</li>
</ul>
</div>
请注意,如果在ul
中单击,而不是在li
上单击,则根据边距和填充,event.target
可能是ul
元素- -钩住容器上的事件,但让jQuery根据所单击的子对象筛选得到的事件
- -基本上是文档范围的
代表
...
<script>
$('#outsideContainer').click(function() {
//do stuff
});
</script>
<div id="outsideContainer">
<ul>
<li>Hello</li>
<li>Goodbye</li>
</ul>
</div>
请注意,如果在ul
中单击,而不是在li
上单击,则根据边距和填充,event.target
可能是ul
元素- -钩住容器上的事件,但让jQuery根据所单击的子对象筛选得到的事件
- -基本上是文档范围的
代表
$('#outsideContainer').click(function() {
//do stuff
});
要捕获对每个li
do的点击:
$('#outsideContainer ul li').click(function() {
//do stuff
});
这只会在您单击整个div时触发
$('#outsideContainer').click(function() {
//do stuff
});
要捕获对每个li
do的点击:
$('#outsideContainer ul li').click(function() {
//do stuff
});
正如T.J.Crowder所指出的,您所拥有的一切都是有效的,但您需要了解
此
的上下文。将event.target
替换为此
将为您提供单击的实际元素
作为演示,我在下面添加了一个提琴,它将提醒已单击元素的节点(标记)类型和文本内容。
、
和
都有不同颜色的边框,可以帮助您直观地确定实际单击的内容
正如T.J.Crowder所指出的,你所拥有的一切都是有效的,但是你需要了解
这个
的上下文。将event.target
替换为此
将为您提供单击的实际元素
作为演示,我在下面添加了一个提琴,它将提醒已单击元素的节点(标记)类型和文本内容。
、
和
都有不同颜色的边框,可以帮助您直观地确定实际单击的内容
我没有包括实际导致问题的javascript(它在
//do stuff
中,但我遇到的问题是我在寻找event.target,而不是ul
和li
s的外部容器。我没有包括实际导致问题的javascript(这是在//do stuff
中,但我遇到的问题是我在寻找事件。目标只是外部容器,而不是ul
和li
s。应该可以很好地工作…看这个小提琴:这里没什么错,你的问题标题复杂是什么意思:?刚刚弄清楚什么错了…我我们正在寻找事件。目标只是外部容器
,而不是ul
和li
sIt对您自己的问题发布一个答案,然后接受该答案(您必须等待两天,但除此之外)…@T.J.Crowder好的,谢谢。我会的。那应该很好。看这把小提琴:这里没问题,你的问题标题复杂是什么意思:?刚刚弄明白什么错了…我在找这个事件。目标只是外部容器
而不是ul
和li
sIt对我来说很好发布你自己问题的答案,然后接受该答案(你必须等待两天,但除此之外)…@T.J.Crowder好的,谢谢。我会这么做的。谢谢,你间接地帮助了我,因为我在寻找事件。目标只是外部容器
,而不是ul
和li
s@chromedude哈哈!我没有考虑这个情况。你可能想看看我添加的链接,虽然听起来好像你现在在那里。谢谢,你间接地帮助了我,因为我正在寻找事件。目标只是外部容器
,而不是ul
和li
s@chromedude哈哈!我没有考虑这个情况。你可能想看看我添加的链接,虽然听起来好像你现在在那里。