0
私は入力に幅を設定し、クラスは親にクラスを設定するこの関数を持っています。.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/ ありがとうございます。あなたは自分のアニメーションやフィールドに.stop()
を追加する必要が
のままサイズをアニメートする:( width:350、元のサイズに戻っていません... – mcmwhfy
http://jsfiddle.net/DCjYA/225/これは少し汚れています。 'を使用してコードを2回繰り返すのではなく、そのアイデアを得ました; –
ありがとう、うまくいくようです:) – mcmwhfy