jQuery切换焦点/模糊

时间:2011-04-09 21:55:13

标签: jquery focus toggle

如何使用jQuery在焦点/模糊上切换元素的CSS?

$('.answerSpace').bind('blur', function(){
$('.normProf').toggleClass('opacProf');
});

$('.answerSpace').bind('focus', function(){
    $('.opacProf').toggleClass('normProf');
});

所以现在我有了这个。但它不太有用......

4 个答案:

答案 0 :(得分:18)

检查一下,这正是你们应该怎么做jQuery焦点切换..

基本用例:

$('input').on('focus blur', toggleFocus);

function toggleFocus(e){
    console.log(e.type)

    if( e.type == 'focusin' ){ 
      // do something on focus
    }
    else{
      // do something else on blur
    }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input>

答案 1 :(得分:11)

尝试

$('.answerSpace').bind('blur', function(){ $('.normProf').removeClass("normProf").addClass('opacProf'); });
$('.answerSpace').bind('focus', function(){ $('.opacProf').removeClass("opacProf").addClass('normProf'); });

答案 2 :(得分:7)

好吧,如果我说得对,你可以使用onblur功能使用onfocustoggleClass个事件:

$('#yourelement').bind('blur', function(){
    $(this).toggleClass('your-class');
});

$('#yourelement').bind('focus', function(){
    $(this).toggleClass('your-class');
});

答案 3 :(得分:0)

模糊仅在您离开输入时才会激活,因此您可以使用它来再次移除焦点。

$('input').focus(function(){
    $(this).css('box-shadow', '0px 0px 1px #ccc');
});

$('input').blur(function(){ 
    $(this).css('box-shadow', 'none');
});