如果:焦点陈述有效,为什么不这样做?

时间:2015-05-26 11:32:22

标签: javascript jquery

$(document).ready(function(){

  if($("select").is(":focus")){
    $(document).click(function(){
      $("select").blur()
      console.log('lala')
    })
  }

  $(document).click(function(){
    console.log($('select').is(':focus'))
  })

})

所以这里发生的事情就是我在任何地方都点击了一下,如果select被打开,请告诉我。如果是,它应该关闭并在控制台中输出lala。这不会发生,但是其他点击事件会让我知道它是否打开。

所以bug在代码的第一部分,但在哪里?

4 个答案:

答案 0 :(得分:3)

我认为你应该这样写:

$(document).click(function(){
   if($("select").is(":focus")) {
     $("select").blur();
     console.log('lala')
   }
});

它会起作用。

答案 1 :(得分:0)

当聚焦选择时,您已在文档就绪时绑定了点击事件。你应该用这个

$(document).click(function(){
    if($("select").is(":focus")){
        $("select").blur()
        console.log('lala')
    }
})

答案 2 :(得分:0)

分配ID 以选择标记:

runas /profile /user:username "C:\Program Files (x86)\Microsoft Office\Office15\EXCEL.EXE"

Javascript代码:

"C:\Program Files (x86)\Microsoft Office\Office15\EXCEL.EXE /r C:\fol der\file.xls"

答案 3 :(得分:0)

我会引用api文本,因为你定义的事情应该在标签选择器之前。

  

与其他伪类选择器(以“:”开头的那些)一样,建议先于:使用标记名称或其他选择器进行聚焦

https://api.jquery.com/focus-selector/