0

入力ボックスがあり、ぼかしイベントとキープレス イベントの両方を入力にバインドしました。しかし問題は、keypress イベントが発生し、blur イベントも発生する場合です。keypress イベントが発生したときにぼかしイベントを抑制する方法はありますか?

ありがとう

4

3 に答える 3

1

テストのためにコードを少し単純化しましたが、イベントの発生順序について同じ結論に達することができませんでした。Firebug のコンソールは、常に .blur の前に発生する .keypress を生成する次のコード実行を示しています。

<script>

    $(document).ready(function() {

        $("#inpt").blur(function(e) {
            console.log(".blur");
        });

        $("#inpt").keypress(function(e) {
            console.log(".keypress");
        });
    });

</script>

同じフィールドにバインドされた .onchange と .keypress で正確に何を達成しようとしていますか? イベント ハンドラー コードも投稿すると役立つ場合があります。

また、グローバルな document.keypress もバインドされていますが、その特定の理由はありますか?

于 2009-02-01T19:26:18.120 に答える
0

<script src="jquery-1.3.1.js" type="text/javascript"></script>

<script type="text/javascript">

    $(document).ready(function() {

        $("#inpt").blur(function(e) {
            EventHandlerBlur(e);
        });
       $("#inpt").keypress(function(e) {
              EventHandlerKeyPress(e);
          });

          $(document).keypress(function(e) {
              EventHandlerKeyPress(e);
          });


    });
</script>

ここに同じ動作のコードがあります。実際に入力時に入力したり、入力ボックスの任意のキーを押したりすると、キープレスイベントの前に最初にぼかしイベントが発生します..

于 2009-02-01T01:51:28.047 に答える