如果你想扩展一个超过20个字符的input type=text
,我有一个完美的功能。我的问题是,如何将此功能应用于禁用输入?为了更好地理解我的函数的行为,请检查我的小提琴示例:
http://jsfiddle.net/DCjYA/168/
$('input[type!="submit"]').focus(function(){
if ($(this).val().length > 20) {
$(this).attr('data-default', $(this).width());
$(this).animate({width: 300}, 'slow');
$(this).parent().addClass('cooling');
}
}).blur(function(){
var w = $(this).attr('data-default');
$(this).animate({
width: w
}, 'slow');
$(this).parent().removeClass('cooling');
});
谢谢。
答案 0 :(得分:0)
由于您无法关注已禁用的元素,因此您应该为此构建一个解决方法。或者为此使用其他功能?
编辑:可能这对您有所帮助:Event on a disabled input
答案 1 :(得分:0)
正如丹尼尔所说,focus
和blur
事件不适用于disabled
input
。然后为此目的,hover, mouseenter or mouseover, mouseleave or mouseout
是可以使用的事件,但我找不到它,但我找到了mousemove
expanding
它。你可以用它来解决你的问题。
$('input:disabled').mousemove(function(){
if ($(this).val().length > 20) {
$(this).attr('data-default', $(this).width());
$(this).animate({width: 300}, 'slow');
$(this).parent().addClass('cooling');
}
});