单击Focused DIV上的操作

我有一个div,其tabindex属性设置为’-1’,因此它可以专注于鼠标点击。

.div:focus{//some style}

当用户单击div时,我想用Jquery做一些事情,但只有在选中它时(第二次点击后)。

 $('div').click(function(){ if($(this).is(':focus')){ //do something } }); 

但它不起作用,动作立即触发。

编辑:包括代码。

我会用标志检查第二次点击,在这里查看我的答案

  1. 我使用了一个标记isClicked来确定它是第一次点击还是第二次点击。 如果是第一次单击,将标志设置为true并返回((即)不执行任何操作)。 下一次,检查标志是否为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; }); 

从我读过的内容来看,一旦你专注于DIV,也许你可以调用“点击”动作。 首先单击它,第二次单击会触发下一个块。

**编辑**经过研究,您无法在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/