我有一个 div,其中生成了一些 anchor 或按钮,视情况而定,我需要一个 foucsout 事件来检测是否点击了某些 div 元素,如果没有我需要做一些逻辑
我在 focusout 事件中尝试过这个
$('.navigate-modules-li').find(':active').length == 0
它适用于 chrome 但不适用于 firefox。 :focus 和 :selected 无效
有什么想法吗?谢谢。
最佳答案
不是最终的解决方案,因为还不完全清楚您要实现的目标,但下面是工作示例,如何使用在内部单击的内容“标记”div 以及之后如何获取它们。希望这会帮助您找到方法。
$(function() {
$('.navigate-modules-li > div > a').on('click', function() {
if (!$(this).parent().hasClass('clicked')) {
$(this).parent().addClass('clicked').css('background', 'green');
}
console.log('Divs clicked: ' + $('.navigate-modules-li > div.clicked').length);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="navigate-modules-li">
<div>
Div 1
<a href="#">Click me</a> or <a href="#">Click me</a>
</div>
<div>
Div 2
<a href="#">Click me</a> or <a href="#">Click me</a>
</div>
<div>
Div 3
<a href="#">Click me</a> or <a href="#">Click me</a>
</div>
</div>
关于javascript - 无法使用 jquery 在 div 中找到事件元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46192855/