2011-12-31 11 views
2

tabindex属性を '-1'に設定したdivを使用して、マウスクリックにフォーカスを当てるようにしました。Focused DIVのアクションをクリック

ユーザがdivをクリックしたときに、それが選択されている場合(2回目のクリック後)に何かしたいと思います。

しかし、動作しない場合、アクションはすぐにトリガされます。

EDIT:コードが含まれています。

+0

plsはあなたがあなたの –

+0

コード[作品でしようとしているコードが含まれていることを行います私のために](http://jsfiddle.net/davidThomas/VygWj/)、Chromium 14/Ubuntu 11.04 ... –

+0

David、ここでの問題は、同時にdivをクリックするとアラートが表示されることですそれは後にではなく、焦点を得ています。 – olanod

答えて

2

私は私のanswerここ

    を参照して、フラグを使用して第二のクリックを確認します
  1. フラグisClickedを使用して、1回目のクリックか2番目のクリックかを判断しました。 1回目のクリックの場合は、フラグをtrueに設定してリターンします(何もしない)。次回は、2回目のクリックであることを示すフラグがtrueに設定されているかどうかがチェックされます。

    var isClicked = false; 
    
    $('div#myTest').click(function(){ 
    
    //do nothing on 1st click 
    if (isClicked == false) { 
        alert('Clicked 1st time');  
        isClicked = true; 
        return; 
    } 
    
    //do whatever u want on second click  
    alert('Clicked 2nd time');  
    
    }); 
    
  2. それはdivの外でクリックされたときにフラグをリセットして、以下のコードは...

    // to check it is clicked outside div 
    $(document).click(function(e){ 
        if($(e.target).is('#myTest'))return;  
    
        //reset to 
        isClicked = false; 
    
    }); 
    
2

私が読んだところでは、DIVに集中すれば、おそらく "クリック"アクションを呼び出すことができます。最初にクリックするとフォーカスされ、2回クリックすると次のブロックがトリガーされます。

**編集**調査後、DIVでフォーカスハンドラを使用することはできません。私が考えていたことは何でしょう!

*$('.double-click').focus(function(){ 
    alert("I'm now in focus"); 
    $(this).click(function(){ 
      alert("I'm now double clicked."); 
    }); 
});* 

**これはテストされていないコードです。

私もjQueryのAPIの周りを見て、(DBLCLICKに気づいたが)あなたがここに見ることができる機能... http://api.jquery.com/dblclick/

+0

スクラッチ。 DIVに「集中する」ことはできません。 dblclick()関数を使って作業してみてください。 – wwwroth

関連する問題