我只是想學習jQuery,我想知道如何弄清楚什麼時候,給定一堆文本在textarea,是用戶在結束時textarea並嘗試點擊。例如,文本的最後一行是asdf,當用戶在那一行,並按下箭頭鍵時,我想獲得某種事件,或者至少能夠弄清楚我們是否是在最後一行,並做一個動作(例如,環繞和去第一行)jQuery的檢測當我們在文本結尾的文本區
如果任何人有一些想法如何做到這一點,將不勝感激!
傑森
我只是想學習jQuery,我想知道如何弄清楚什麼時候,給定一堆文本在textarea,是用戶在結束時textarea並嘗試點擊。例如,文本的最後一行是asdf,當用戶在那一行,並按下箭頭鍵時,我想獲得某種事件,或者至少能夠弄清楚我們是否是在最後一行,並做一個動作(例如,環繞和去第一行)jQuery的檢測當我們在文本結尾的文本區
如果任何人有一些想法如何做到這一點,將不勝感激!
傑森
如果你試圖當用戶填寫它來調整textarea的,有是一個jQuery插件,它已經:
如果你想要的文字區域擴大在用戶填寫起來,你可以做這樣的事情:
function resizeTextarea(textarea) {
var defaultHeight = 150;
var lines = textarea.val().split("\n");
var count = lines.length;
$.each(lines, function() {
count += parseInt(this.length/70);
});
var currHeight = textarea.height();
var rows = parseInt(currHeight/20) - 1;
if (count > rows && currHeight < 600) { // Increase height unless 600 or higher
textarea.css("height", (currHeight + (defaultHeight/2)));
}
else if (((count + 7) <= rows) && (currHeight > defaultHeight) && (count > 5)) { // Decrease height
textarea.css("height", (currHeight - (defaultHeight/2)));
}
else if ((count <= rows) && (count <= 5)) { // If less than 5 rows, use default height
textarea.css("height", defaultHeight);
}
}
$('textarea.resizable').each(function() {
$(this).bind("keypress input beforepaste", function(){
resizeTextarea(event.target);
});
resizeTextarea($(this)); // Initial refresh
});
退房 http://jacklmoore.com/autosize/
很簡單:
// Example:
$(document).ready(function(){
$('textarea').autosize();
});
非常感謝!但是,當它填滿時它不會自動調整大小,用戶必須拖動它。我基本上正在尋找一種方法來檢測用戶何時填滿了textarea,並在發生這種情況時做些什麼。 – FurtiveFelon 2009-07-28 23:06:38