0

ぼかし機能を備えたテキストエリアがあります。

$("#comment").blur(function() {
        ...something
    });

blur()下の送信ボタンをクリックしたときにこれが発生しないようにします。どうすればこれを解決できますか?

4

4 に答える 4

0

Onblur が発生したときに、どの要素のフォーカスが *to* に移動したかを調べるにはどうすればよいですか?を試してみましたか? -- この場合、フォーカスが移動した場所に基づいて「ぼかし」機能を起動するかどうかを決定できるようにする必要があります。

于 2011-03-30T21:04:56.907 に答える
0

送信では、それがフォームの送信であることを示す変数 (意味のあるフラグ) をフォームでサーバーに渡します。ページを再レンダリングするときは、javascript でフォーム送信であることを示すフラグを付けてレンダリングします。ぼかしハンドラーでそのフラグを探してクリアし、false を返します。

于 2011-03-30T20:51:30.563 に答える
0

このようなものが動作するはずです:

var _commentBlurTimer = 0;
$("#comment").blur(function() {
   _commentBlurTimer = window.setTimeout(function() {
      //...something
   }, 500);
});

$("input[type=submit]").click(function() {
   if (_commentBlurTimer)
      window.clearTimeout(_commentBlurTimer);
});

テストケース: http://jsfiddle.net/yahavbr/a9xZW/

于 2011-03-30T20:51:44.790 に答える
0

通常の送信はPAGE REFRESHです

したがって、ページが再度読み込まれると、blur()コードも呼び出されます

于 2011-03-30T20:46:31.970 に答える