2012-01-24 64 views

回答

0

不知道你需要什麼這個,但你可以嘗試焦點:

$('input').focus(function(){ 
if ($(this).val().length > 20) { 
$(this).attr('data-default', $(this).width()); 
$(this).animate({width: 300}, 'slow'); 
$(this).parent().addClass('cooling'); 
} 
}).blur(function(){ /* lookup the original width */ 
var w = $(this).attr('data-default'); 
$(this).animate({ 
width: w 
}, 'slow'); 
$(this).parent().removeClass('cooling'); 
}); 

小提琴:HTTP://jsfiddle.net/DCjYA/192/

0

您可能需要使用mouseentermouseleave代替。

var w; 
$('input[readonly]').mouseenter(function(){ 
     if ($(this).val().length > 20) { 
       w = $(this).css('width'); 
       $(this).attr('data-default', $(this).width()); 
       $(this).animate({width: 300}, 'slow'); 
       $(this).parent().addClass('cooling'); 
       } 
    }); 
$('input[readonly]').mouseleave(function(){ 
     if ($(this).val().length > 20) { 
       $(this).attr('data-default', $(this).width()); 
       $(this).animate({width: w}, 'slow'); 
       $(this).parent().addClass('cooling'); 
       } 
    }); 

您可能想要移除mouseleave中的冷卻類?

工作樣本: http://jsfiddle.net/DCjYA/189/