Javascript 单击焦点DIV上的操作

Javascript 单击焦点DIV上的操作,javascript,jquery,Javascript,Jquery,我有一个div,tabindex属性设置为“-1”,这样它就可以在鼠标点击时获得焦点 <div tabindex='-1'></div> .div:focus{//some style} 但它不起作用,动作会立即触发 编辑:包含代码 从我所读到的内容来看,也许你可以在关注DIV之后调用“click”操作。第一次单击关注DIV,第二次单击触发下一个块 **编辑**研究后,您不能在DIV上使用焦点处理程序。我在想什么 *$('.double-click').focus(f

我有一个div,tabindex属性设置为“-1”,这样它就可以在鼠标点击时获得焦点

<div tabindex='-1'></div>

.div:focus{//some style}
但它不起作用,动作会立即触发


编辑:包含代码

从我所读到的内容来看,也许你可以在关注DIV之后调用“click”操作。第一次单击关注DIV,第二次单击触发下一个块

**编辑**研究后,您不能在DIV上使用焦点处理程序。我在想什么

*$('.double-click').focus(function(){
     alert("I'm now in focus");
     $(this).click(function(){
          alert("I'm now double clicked.");
     });
});*
**这是未经测试的代码

我还查看了jQuery的API,发现这里有一个dblclick()函数。。。
我会用一个标记检查第二次点击,请参见我的

  • 我使用了一个标记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');     
    
     });
    
  • 在div外部单击时重置标志,下面的代码会执行此操作

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

  • 请在Chromium 14/Ubuntu11.04中包含您正在使用代码尝试的代码…David,这里的问题是,在div获得焦点的同时,只要您单击它,就会显示警报,而不是在之后。我的回答解决了您的问题吗?如果是,标记它的答案。@SKS不完全是预期的方式,但它有帮助,这里有一个新问题和新问题。事实证明你不能“专注”于DIV。尝试使用dblclick()函数。
    // to check it is clicked outside div
     $(document).click(function(e){
      if($(e.target).is('#myTest'))return;    
    
      //reset to
      isClicked = false;
    
     });