css - Jquery 事件绑定(bind)以选择焦点输入/输出

标签 css focus jquery

我对 select 元素的 jquery 事件绑定(bind)有这个问题。当我点击选择时,应该添加 .focus 类。但是从下拉列表中选择一个选项会破坏逻辑。

==> JSFIDDLE

步骤:

  1. 点击选择
  2. 选择一个选项
  3. 点击选择 --> .focus 未添加

代码:

<a>
   <select>
      <option>A</option>
      <option>B</option>
      <option>C</option>
   </select>
</a>​

$('select').focusin(function(){
    $(this).parent('a').addClass('focus');
});
$('select').bind('focusout change',function(){
    $(this).parent('a').removeClass('focus');
});​

最佳答案

问题的根源是您只在选择获得焦点时添加类,然后在选择值更改时删除它。类永远不会被添加回来的原因是因为当您选择其中一个选项时,选择永远不会失去焦点。像这样的事情应该会让你得到你想要的行为:

$('select').click(function(){
   $(this).parent('a').toggleClass('focus'); 
});

$('select').blur(function() {
   $(this).parent('a').removeClass('focus'); 
});

编辑 - 我猜你想保留在选择一个选项时删除类的功能,这就是为什么我会绑定(bind)到点击而不是聚焦和模糊。

关于css - Jquery 事件绑定(bind)以选择焦点输入/输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12809607/

相关文章:

java - 即使应用程序有子窗口也能保持焦点

javascript - 在 Firefox 的 iframe 中聚焦

c# - 密码正则表达式(客户端 javascript)

css - 单击时更改的带有 css 的动画

javascript - 在使用 XMLHttpRequest 调用的 DIV 上执行 JQuery 函数?

delphi - Delphi-Win7窗口焦点问题

javascript - 如何将新元素插入到 'this' 子元素 Jquery?

php - JQuery 在内部自动生成的 img 上调用 .click()

css - 默认打开切换

css - 纯 CSS 中的第一类和最后一类选择器