javascript - 聚焦 DIV 上的单击操作

标签 javascript jquery

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

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

.div:focus{//some style}

当用户单击 div 时,我想使用 Jquery 执行某些操作,但前提是它被选中(第二次单击后)。

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

但是这不起作用, Action 会立即触发。

编辑:包含代码。

最佳答案

我会用标志检查第二次点击,请参阅我的 answer 这里

  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;
    
     });
    

关于javascript - 聚焦 DIV 上的单击操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8689716/

相关文章:

javascript - 将毫秒转换为日期 (jQuery/JavaScript)

javascript - 从事件触发器获取id

Javascript/HTML onclick 将新值传递给正在运行的内容 slider

javascript - 对象通过键获取值

javascript - 悬停时从数据列表中获取当前值

javascript - 页面加载时的照片对齐应为网格

javascript - 在谷歌地图上找到最近的引脚

javascript - 我想使用 jquery 将成绩分配给每一行中的不同分数

javascript - 按第一个字母对齐文本

Javascript 下拉选项 0-100 递增 0.5