のは、私はこれを行うとしましょう:MooToolsのが追加されたイベントを無効にしたり、傍受
$('field').addEvents ({
'focus' : function() { // do some stuff }
'blur' : function() { // do other stuff }
});
これはすべての私のテキスト入力フィールドのデフォルトの動作です。
$('shinyButton').addEvent('click', function() {
stopDefaultBlurFunctionInCurrentlyFocussedField();
// do seriously cool stuff
if (finishedDoingSeriouslyCoolStuff) {
$('field').focus(); // return focus to input field
}
}
ので:私は今、やりたいことは
<button id='shinyButton' name='shinyButton'>Poke Me</button>
この
のようなものである1)私はstopDefaultBlurFunctionInCurrentlyFocussedFieldありませんか();?
2)私が実際に完了したかどうかを確認するにはどうすればいいですか?
は難しいですが、それはぼかしと同様にクリックをオフに解雇されます、あなたはクリアすることができ、ブレコールバックに小さな遅延を使用することができます。クリックで - 理想的ではありませんが、クリックが期待以上に長いマウスを保持しているために長いクリックになる可能性があります。または、これらのすべてを親フォームに委譲してeventTargetsなどを確認できます。簡単な作業です。また、bluroverが正常に終了して終了するフィールドにフラグを設定するmouseoverイベントをボタンに追加します。 –
gotcha。私の意思と目的のためにそうです。 :Dもう一度@Dimitarに感謝します。 sidenoteとして、私はあなたが独学でもあるのを見ます。私に希望を与える!笑。 – WhiteRau
それはうまくいきます。 http://jsfiddle.net/dimitar/edsqg/1/をチェックしてください - 私が言ったように、あなたがマウスオーバーをクリックするとフィールドのバリデーションを引き起こさないようにするために必要なフィールド上のブラーイベントを無効にします。他のぼかしの意志。 –