【发布时间】:2012-01-25 11:43:40
【问题描述】:
我有这个函数,只有当父级没有 cooling 类时才应该调用它。
function inputWidth() {
$('input[disabled="disabled"]').removeAttr("disabled").prop("readonly", true);
$('input[type!="submit"]').focus(function(){
if ($(this).val().length > 20) {
$(this).attr('data-default', $(this).width());
$(this).animate({
width: 350
}, 'slow');
$(this).parent().addClass('cooling');
}
}).blur(function(){ /* lookup the original width */
var w = $(this).attr('data-default');
$(this).animate({
width: w
}, 'fast');
$(this).parent().removeClass('cooling');
});
};
【问题讨论】:
-
您的标题中基本上有解决方案...有什么问题?您在哪个上下文中调用该函数?响应某些事件?请澄清您的问题。
-
我的问题是当输入展开时,因为如果您在该输入上单击多次,宽度保持为 width:350 并且在模糊时不知道返回。如果我只在 hasClass('cooling') 不够时才应用它:(
-
请创建一个jsfiddle.net 演示以帮助我们帮助您。
-
尝试在第一个和第二个输入上快速单击多次,您会看到输入在 .animation 宽度处保持阻塞。在这里你有一个小提琴:jsfiddle.net/DCjYA/221谢谢!
-
在输入中多次单击似乎在 Chrome 中不是问题。你用的是哪个浏览器?