Bằng "vị trí cuối cùng", bạn có ý là phần cuối của văn bản không?
Thay đổi ‘.value’ của trường biểu mẫu sẽ di chuyển con trỏ đến cuối trong mọi trình duyệt ngoại trừ IE. Với IE bạn có để có được bàn tay của bạn bẩn và cố tình thao tác lựa chọn, sử dụng giao diện phi tiêu chuẩn:
if (browserIsIE) {
var range= element.createTextRange();
range.collapse(false);
range.select();
} else {
element.focus();
var v= element.value();
element.value= '';
element.value= v;
}
Hoặc bạn có nghĩa là đặt con trỏ trở lại nơi nó đã được trước đó, lần cuối cùng textarea là tập trung?
Trong mọi trình duyệt ngoại trừ IE, điều này sẽ xảy ra chỉ bằng cách gọi ‘element.focus()’; trình duyệt nhớ vị trí con trỏ/lựa chọn cuối cùng cho mỗi đầu vào và đặt nó trở lại tiêu điểm.
Điều này sẽ khá phức tạp khi tái tạo trong IE. Bạn sẽ phải thăm dò ý kiến mọi lúc để kiểm tra vị trí con trỏ/lựa chọn, và nhớ vị trí đó nếu nó ở trong phần tử đầu vào, sau đó tìm vị trí cho phần tử đã cho khi nhấn và khôi phục nó. Điều này liên quan đến một số thao tác thực sự khá tẻ nhạt của ‘document.selection.createRange()’.
Tôi không biết gì về jQuery có thể giúp bạn làm điều này, nhưng có thể có một plugin ở đâu đó có lẽ?
tôi cảm thấy bẩn vì đã đọc đó. . . – Travis
Ồ, xử lý lựa chọn IE có thể nhận được nhiều điều ác hơn thế! :-) – bobince
Không chắc chắn nếu điều này đủ điều kiện ... câu hỏi này được gắn thẻ jQuery. Nhưng, hey, mà nên làm việc :) – Seb