.animation运行时是否可以禁用焦点事件?

时间:2012-01-25 15:17:30

标签: jquery input size jquery-animate

我有这个功能,它为我的输入设置宽度,并将一个类广告给父。

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');
        });
   };

我的问题是如何在动画运行时停止点击事件,因为如果我在2个输入中同时点击多次模糊,则输入不知道会回到原始大小。

我给你附了一个版画屏幕,以便更好地理解这种行为。这是:http://s17.postimage.org/j6kn0fr9b/fiddle.jpg 这是一个小提琴的例子: http://jsfiddle.net/DCjYA/223/ 感谢的。

1 个答案:

答案 0 :(得分:1)

您只需在动画中添加.stop(),无论您在此处点击多少次,字段都会恢复原始大小 - http://jsfiddle.net/DCjYA/224/