Một thời gian trước, tôi đã giải quyết vấn đề cho ai đó rằng wanted his textarea to grow. Tôi đã thực hiện một chức năng nghe các sự kiện scroll
và keyup
của khu vực và tính toán lại số hàng. Tôi muốn sử dụng mã trong một dự án khác, nhưng có một vấn đề. Các textarea của không biết Để giải quyết điều này, tôi đang sử dụng live
thay vì bind
, do đó khu vực trong tương lai sẽ bị ràng buộc là tốt.Cách liên kết sự kiện cuộn trên Live()?
Bây giờ, tôi thấy rằng live
thực hiện chậm hơn rất nhiều so với bind
. Tôi đã tạo a simplified example on jsFiddle. Các văn bản trên hành vi như tôi muốn, nhưng những người mới được thêm nhấp nháy do tín hiệu muộn (tôi đang sử dụng Chrome).
Làm cách nào để tạo Vấn đề là không thể sử dụng live
nhanh như bind
?
scroll
bằng tuyên bố live
. Có cách nào để bật scroll
cho live
không? Có thể có sự kiện jQuery báo hiệu cho tôi rằng một TextArea mới đã được thêm vào, vì vậy tôi có thể sử dụng một liên kết để thêm scroll
vào phần tử mới được tạo ra không?
Tôi đang mong chờ ý tưởng của bạn.
EDIT: Đã thay đổi liên kết thành mã. Đã xóa mã cuộn. Thêm một nút khác để tạo một vùng văn bản khác. Vấn đề phải làm với 'cuộn'. Nó không cháy.
Làm rõ: Tôi sẽ không biết chức năng nào sẽ tạo ra vùng văn bản. Tôi thấy nhấp nháy trên các hộp được thêm động trong Chrome.
Đối với độc giả trong tương lai:
Trong jQuery 1.3.x chỉ sau Javascript sự kiện (ngoài sự kiện tùy chỉnh) có thể bị ràng buộc với .live():
click, dblclick, keydown, keypress, keyup, mousedown, mousemove, mouseout, mouseover, and mouseup
. của jQuery 1.4. Kể từ jQuery 1.4.1 thậm chí lấy nét và làm mờ làm việc bằng trực tiếp (ánh xạ tới nhiều hơn thích hợp, sủi bọt, các sự kiện tập trung và lấy nét). Kể từ jQuery 1.4.1, sự kiện di chuột có thể được chỉ định (ánh xạ đến con trỏ chuột và chuột con, trong đó, lần lượt, được ánh xạ tới di chuột và mouseout).
@Pointy vâng, đúng vậy, đó là lý do tại sao tôi tạo văn bản đủ lớn để không thể cuộn. Tôi chỉ cuộn nhẹ khi người dùng nhập dữ liệu mới và nó sẽ kích hoạt trước khi khóa. Hãy thử và loại bỏ các cuộn từ ví dụ và bạn sẽ thấy rằng nó sẽ không đi suôn sẻ. –
@Kee vâng tôi thấy rằng sau khi chơi với nó. JsFiddle của bạn treo trình duyệt của tôi khi tôi thử gõ vào vùng văn bản "tĩnh", và nó hoạt động tốt Tôi đoán khi tôi gõ vào một vùng văn bản bổ sung. Một điều: tại sao mã gọi "scrollTop (0)" trong vòng phóng to/thu nhỏ? – Pointy
@Pointy elem.scrollTop (0); có thể gỡ bỏ :-). Đó là từ một cái gì đó tôi đã cố gắng: P. –