特定输入目标模糊功能

时间:2016-09-21 12:28:06

标签: javascript jquery

我的功能正常运作。有没有办法从特定输入中删除该功能?因为它改变了所有输入..我有2个复选框和1个输入,我需要没有这个功能。

$('input').blur(function(){
    $('input').parent().removeClass("gray");
})
    .focus(function() {     
        $(this).parent().addClass("gray")
});

3 个答案:

答案 0 :(得分:3)

尝试在输入中添加一个类,并选择不需要onblur函数的复选框,然后按如下所示更新代码

class添加到您不想要此功能的三个输入

$('input').not( ".class" ).blur(function() {
    $(this).parent().removeClass("gray");
  })
  .focus(function() {
    $(this).parent().addClass("gray")
  });

希望这有助于你所需要的。

答案 1 :(得分:2)

使用this上下文,$('input')将选择所有<input>元素,this中的callback将保留event上的元素被调用!

$('input').blur(function() {
    $(this).parent().removeClass("gray");
  })
  .focus(function() {
    $(this).parent().addClass("gray")
  });
.gray {
  background: gray;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div>
  <input type="text">
</div>
<div>
  <input type="text">
</div>

答案 2 :(得分:0)

如果您拥有这三个输入的ID,则可以使用此代码段。

$('input').blur(function(){
    $(this).parent().removeClass("gray");
 })
.focus(function() {     
    $(this).parent().not( "#id1, #id2, #id3" ).addClass("gray")
 });

它会为那些与选择器不匹配的输入添加类。