2017-09-13 10 views
0

div内にいくつかのアンカーやボタンが生成されていますが、状況に応じてdiv要素がクリックされたかどうかを検出するfoucsoutイベントが必要です私は、focusOutイベントにjqueryでdiv内のアクティブな要素を見つけることができません

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

これを試み、それがクロムのためではなく、Firefoxの上で動作し、いくつかのロジックに

を行う必要があります。 :フォーカスと:選択したが動作しませんでした

アイデア?ありがとう。

+1

DIV自体は、 "フォーカス" を受け取ることができません。あなたの説明から、あなたはおそらく "クリック"のような別のイベントを探していますか? https://stackoverflow.com/questions/1599660/which-html-elements-can-receive-focus –

+0

divがフォーカスを持っているかどうかを確認したくない場合は、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>

関連する問題