Изменение определения jquery в присвоении класса
Кто-нибудь знает способ обнаружения, когда данный класс элемента изменился с помощью JQuery?
Я использую "просто счетный" плагин JQuery, чтобы уведомить пользователя о количестве символов, введенных в текстовую область. Когда пользователь превышает допустимое количество символов, я хотел бы отключить кнопку "post".
Поскольку просто счетные изменения присваиваемого класса CSS при достижении предела, моя идея состояла в том, чтобы захватить это событие, чтобы я мог отключить кнопку сообщения, но, возможно, есть лучший способ?
Любые предложения приветствуются.
Спасибо.
Ответы
Ответ 1
Вы имеете в виду что-то вроде этого?
<script>
$("#myTextArea").change(function(){
var contentLength = $(this).val().length;
var charLimit = 500;
if(contentLength > charLimit){
$("#saveButton").attr("disabled","disabled");
}
});
</script>
<textarea id="myTextArea"></textArea>
<input type="submit" id="saveButton">
Ответ 2
Предполагая, что вам нужно заблокировать элемент управления, а не перехватывать изменение класса, вы можете просто переписать часть плагина, ответственную за действие (добавление класса).
Ответ 3
Я не знаю ничего, что в настоящее время существует, но вы можете написать плагин для jQuery, который запускает настраиваемое событие всякий раз, когда имя класса изменяется (через jQuery).
Ответ 4
Вы можете попробовать jQuery Validation Plugin.
Ответ 5
У вас может быть событие на клавиатуре или вверх (для текстовой области), которое проверяет, достигло ли максимальное количество символов, и сработает соответствующая логика.
$(textarea).keypress(function (e) {
if(getLetterCount() > 300){
$(postButton).css('disabled', 'true');
else
$(postButton).css('disabled', 'false');
}
});
Ответ 6
Нет такого события. Что вам нужно сделать, это настроить плагин в соответствии с вашими потребностями.
Перейдите в код. В любом месте, где он называет addClass(options.overClass)
, вам нужно отключить вашу кнопку. В любом месте, где он называет addClass(options.safeClass)
, вам нужно включить свою кнопку. Простой.