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/ 謝謝。
如果你點擊相同的輸入多次仍動畫大小:( 寬度:350,並沒有運行回原始大小... – mcmwhfy
更新http://jsfiddle.net/DCjYA/225/它有點髒,你可能想要定義一個單獨的函數來「點擊'並使用它而不是重複代碼兩次,但你有想法;-) –
謝謝你,似乎工作得很好:) – mcmwhfy