На странице HTML
<input type='text' name='quantity' id='quantity' />
<div class='submit'>Submit</div>`
В JS
$(document).ready(function(e)
{
$('input#quantity').keyup(function()
{ {
if($.isNumeric($('input#quantity').val())==true)
{
$('.submit').addClass('submit_success');
}
else
{
$('.submit').removeClass('submit_success');
}
});
$('.submit_success').click(function(e)
{
document.write("The DIV is clicked");
});
});
Таким образом, идея состоит в том, что когда кто-либо вводит числовое значение в поле input
, <div class='submit'>
будет добавлен класс «submit_success» и будет выглядеть как <div class='submit submit_success'>
.
Наблюдения:
Добавить класс 'submit_success' правильно работает при вводе числового значения.
Удаление класса работает правильно, когда пользователь вводит алфавит или редактирует числовое значение с помощью алфавита.
Функция щелчка выполняется правильно, когда пользователь вводит числовые данные и нажимает на
<div>
Проблема возникает, когда,
ШАГ 1: Пользователь вводит число в текстовое поле. Таким образом, часть добавления класса выполняется.
ШАГ 2: Теперь пользователь удаляет число, которое он набрал, и пишет алфавит в текстовом поле. Теперь выполняется часть удаления класса, и класс submit_success удаляется.
Но все же функция щелчка активна. Когда пользователь нажимает на <div>
, он пишет на экране "DIV нажат". Но я думаю, что это не должно быть выполнено.
Как решить эту проблему?