Có một plugin jquery rất đơn giản: autotextarea. Tôi muốn dạy cho nó một mẹo nhỏ mới: để thay đổi kích thước ban đầu để bù cho văn bản được cung cấp trong biểu mẫu, thay vì đợi lần nhấn phím đầu tiên. Linh hồn nào đó có thể vui lòng cho tôi biết loại xử lý nào để thêm vào nó ngoài việc onkeyup?jquery tự động phát triển vùng văn bản so với văn bản ban đầu
Đây là plugin in question. Chỉ cần thêm một cuộc gọi để phát triển (điều này) để chức năng khởi tạo không hoạt động - rõ ràng, tại thời điểm nó được gọi là, bố trí không hoàn thành, và chiều rộng hiệu quả là nhỏ, vì vậy họ nhận được quá nhiều cao. Đây là phiên bản sửa đổi của tôi: thay đổi duy nhất là cuộc gọi đến grow
.
//Public Method
jQuery.fn.autoGrow = function(){
return this.each(function(){
setDefaultValues(this);
grow(this);
bindEvents(this);
});
};
EDIT:
Chạy này tại document.ready() không làm việc, vì cols thuộc tính của textarea không tính toán được nêu ra. Tuy nhiên, tôi đã nghĩ ra điều gì đó, và có lẽ bạn có thể giúp tôi dọn dẹp nó. Thay vì chú ý đến cols
, tôi sử dụng $ (txtArea) .width(), và sau đó chia cho độ rộng của một div ẩn chứa một ký tự điển hình. Tất cả là tốt, ngoại trừ sự cần thiết phải đặt div ẩn trên mỗi trang. Có bất kỳ đề xuất cho sản xuất hoặc obviating div đó?
tiêu biểu vùng văn bản HTML:
<textarea name="text[0]">歐洲 聯盟 研究 論壇 研討會 議程表 主題 : 歐盟 新憲 的 困境 與 挑戰 日期 : 九十四 年 九月 二日 (星期五) 09 : 00~ 13 : 30 地點 : 台北市 福華 大 飯店 四 樓 CR 403 (台北市 仁愛路 三 段 160 號) 主辦 單位 : 歐洲 聯盟 研究 論壇 (European Union Research Forum , EURF) 國立 政治 大學 國際 關係 研究 中心 起迄 時間 流程09 : 00 -09 : 10 報 到 09 :10 -09 : 20 開場 林碧炤 (政治 大學 副校 長) 9 : 20 - 10 : 20 第一 場 : 歐盟 公投 後 的 衝突 主持人 尤清 (立法委員) 引言人 1. </textarea>
Và CSS liên quan:
textarea {
width: 100%;
font-family: Arial, simsun;
font-size: 16px;
}
Bạn có thể vui lòng cung cấp cho chúng tôi liên kết tới plugin bạn đang sử dụng không? –
Yup, tôi đã thêm liên kết. – bmargulies
Bạn đã thử sử dụng '$ (cửa sổ) .load (function() {...})' thay vì document.ready? – Mottie