2010-12-07 2 views
3

私は、要素のblurメソッドを呼び出すことによってonblurハンドラを実行させることを考えていました。しかし、FormElementでのsubmitの呼び出しによってonsubmitメソッドが実行されることはないことを思い出したので、うまくいきません。JavaScriptでは、blurメソッドはblurイベントをトリガーしますが、submitメソッドはsubmitイベントをトリガーしません。なぜですか?

いくつかの実験の後、私はブラーを呼び出すと、要素のonblurハンドラが呼び出されることがわかりました。これは非常に矛盾しているようで、私を驚かせるわけではありません(これは結局JSです)。それでもいい理由があるのなら、私は知りたいです。ぼかしの場合はハンドラを呼び出すが、提出しないのがよい理由はありますか?

答えて

2

矛盾していると私は同意します。私の考えでは、OnSubmitビヘイビアには従来の手荷物の大部分があります。なぜなら、その機能の多くは、フォーム要素の内側でコードを記述できるように設計されていたからです。この目的のために、onsubmitは、ソースエディタまたはjavascriptファイルを開かずに入力を検証するために使用されました。私の推測では、この動作(長い間前)をコーディングすると、これは賢明なようでした。これは、いったんjavascriptを使用すると、プログラマは自動的に入力を検証できるため、自動チェックは不要です。私の見落としのようです。

このquirksmodeの次のウェブサイトでは、このことについて特に警告していますので、明らかに多くの人々がこれを混乱させています。

http://www.quirksmode.org/js/forms.html

関連する問題