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 がクリックされました」と表示されます。しかし、私はそれを実行すべきではないと思います。
この問題を解決するには?