2015-07-19 77 views
0

正如你所看到的,我試圖增加文本字段的高度,當用戶鍵入它並且當他點擊時(元素失去焦點),我正在縮小它。jQuery onfocus和onblur事件縮小

有沒有更簡單的方法來編寫下面的代碼?

簡單的HTML輸入字段:

<input type="text" />

的jQuery:

$(document).ready(function() { 

    $('input').on('focus', function() { 
     $(this).height('20px'); 
    }); 

    $('input').on('blur', function() { 
     $(this).height('12px'); 
    }); 

}); 
+2

你可以只用CSS這樣做:'輸入:重點{高度:20px的; }' –

+0

那麼我正在學習jQuery,想知道jQuery的方式沒有CSS方式。 –

回答

1

這可以更有效地與剛剛CSS進行,但使用jQuery,您可以使用事件委託。

$(document).on('focus blur', 'input', function(e) { 
    $(this).height(e.type === 'focusin' ? '20px' : '12px'); 
}) 

爲了完整起見,這裏的CSS解決方案:

input { 
    height: 12px; 
} 
input:focus { 
    height: 20px; 
} 
+0

不起作用.... –

+0

@Robert我把事件搞混了,現在可能會起作用。我現在在移動,所以我無法測試它。 –

+0

仍然無法正常工作https://jsfiddle.net/0wfy7xcf/ –