2017-09-13 38 views
0

我有一個div,裏面有一些錨點或按鈕,取決於具體情況,我需要一個foucsout事件來檢測是否有一些div元素被點擊,如果沒有我需要做一些邏輯在jquery中找不到div中的活動元素

我在focusOut事件

$('.navigate-modules-li').find(':active').length == 0 

嘗試這樣做,它適用於Chrome,但不是在Firefox。 :重點和::選擇沒有工作

有什麼想法嗎?謝謝。

+1

DIV本身不能接受 「焦點」。從您的描述中,您可能正在尋找另一個類似「點擊」的事件? https://stackoverflow.com/questions/1599660/which-html-elements-can-receive-focus –

+0

我不想檢查div是否有焦點,我想檢查是否有一個錨或按鈕內的按鈕得到點擊/激活 – Edin

回答

0

不是最終的解決方案,因爲它不完全清楚你想要達到什麼目的,但下面是工作示例如何用內部點擊的東西「標記」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>