Как я могу определить, был ли текст усечен, когда я копирую текст в поле ввода с атрибутом maxlength
HTML input элемент имеет атрибут maxlength, который предотвращает ввод текста длиннее, чем maxlength . При вставке текста в поле ввода, если текст длиннее максимальной длины, он будет усечен до точной длины максимальной длины. Как я могу сказать, был ли текст усечен или нет, пожалуйста?
Спасибо.
1 ответ:
Предполагая, что вы хотите знать, совпадает ли длина значения входного элемента с максимальной длиной этого элемента, вы можете сделать что-то вроде этого (используя JQuery).
Это, однако, не то же самое, что усеченное значение, это может быть просто такая точная длина.var $el = $("#myInputElement") var l = $el.val().length; var ms = $el.attr("maxlength"); var m = parseInt(ms, 10); // at this point m and l are maxlength and actual length
Если вы хотите знать, продолжает ли пользователь писать после достижения максимальной длины,вы можете посмотреть на событие keyup и определить, сфокусирован ли ввод. Однако, чтобы сравнить буфер обмена с вашими входными данными, возможно, вам придется прибегнуть к вспышке.
Короче говоря, хорошего решения не существует.