Có cách nào để phát hiện xem nội dung (giá trị) của phần tử đầu vào (loại = văn bản) có vượt quá kích thước của nó không?Phát hiện xem văn bản trong phần tử đầu vào (loại = văn bản) có vượt quá giới hạn trong FireFox
Trong Internet Explorer, thuộc tính scrollWidth
sẽ lớn hơn style.width
khi điều này đúng. Tuy nhiên, trong Firefox, scrollWidth
luôn bằng style.width
và là một lỗi đã biết (https://bugzilla.mozilla.org/show_bug.cgi?id=343143), cũng có thể không phải lỗi vì Mozilla chỉ đơn giản là không xem xét yếu tố đầu vào là "có thể cuộn" được, nhưng vẫn còn. Theo ý kiến này, yếu tố textarea
của Firefox KHÔNG đặt thuộc tính scrollWidth
đúng cách khi nội dung tràn các giới hạn.
Hiện nay, suy nghĩ duy nhất của tôi là một trong hai: (a) Sử dụng một yếu tố textarea để thay thế và hạn chế nó để nhập dòng duy nhất bằng cách nào đó hoặc (b) Trên mỗi sự kiện KeyUp của đầu vào, sao chép nội dung vào một tương tự hình div yếu tố và nhìn vào tài sản scrollWidth
của nó.
Có cách nào tốt hơn để thực hiện việc này trong FF không?
cách so sánh 'độ dài' của chuỗi với thuộc tính' kích thước' của hộp văn bản? – drudge
@jnpcl - Điều này chỉ hoạt động nếu sử dụng phông chữ cố định và kiểu dáng css trên phần tử 'input' không được sử dụng. Đối với phông chữ có độ rộng biến hoặc trường hợp bạn muốn xác định rõ chiều rộng của phần tử 'input' (ví dụ:' style = "width: 100px;" '), việc kiểm tra độ dài sẽ không đủ. – userx