0

all セレクターを使用すると、クリック イベントに応答する jquery コードがあります。ユーザーが特定の ID をクリックした場合にのみ応答するように変更したいと考えています。しかし、すべての ID ではなく特定の ID に応答するようにコードを変更すると、動作しなくなります。ID のスペルが正しく、適切な構文を使用していることはわかっています。JavaScript コンソールにエラーは表示されません。だから私は何がうまくいかないのか混乱しています。

これは機能します:

 $("*").click(function() {
                 $('center').fadeOut(1000, function() {
                    });
            });

これは動作しません:

             $("#answerBox").click(function() {
                 $('center').fadeOut(1000, function() {
                    });
            });

ID のスペルが正しいことはわかっています。

ここに画像の説明を入力

HTMLは次のとおりです。

<div id='left'>
                <p  id='answerprompt'>Answer: </p>
                <input id="answerBox" type="text" name="firstname">
            </div>

すべての CSS は次のとおりです。

<script type="text/javascript">
       $(document).ready(function () {
        $("#recycleButton").click(function(){
                 $("#captchaText").attr('src', 'cryptographp.inc.php');
        });
        $("#submitButton").click(function(){

                $.ajax({
                    url: 'getRejection.php',
                   success: function(data) { alert(data) }
                });
                $('#captchaPanel').animate({ opacity: 1}, 200);

                $("#captchaText").attr('src', 'cryptographp.inc.php');

            });

         });

         $("*").click(function() {
             $('center').fadeOut(1000, function() {
                });
        });

</script>

クリック イベントを変更またはキャンセルする入力ボックスについて何か特別なことはありますか? この問題をデバッグするには、どのような手順を実行できますか?

4

2 に答える 2

0

このjsbinを見てください。これは完璧に機能し、コードについては何も変更していません...

$("#answerBox").click(function() {

        $('center').fadeOut(1000, function() {
    });
});
于 2013-09-08T00:38:20.520 に答える
0

このjsFiddleは私にとってはうまくいきます。

dividを からleftに変更しましたcenter#また、クリック コード内の jQuery 選択に を追加しました。これは、ID「center」の要素を選択しようとしたことを前提としています。要素を選択しようとしていた場合は<center>、コードをそのままにしておきます (HTML に中央の要素が表示されませんでした)。

また、.focus()を調べて、ユーザーが入力ボックスにタブ移動した場合に同じ効果が発生するようにすることもできます。

于 2013-09-08T00:38:30.357 に答える