質問: ### 前提・実現したいこと ready関数で囲わなくても、動くイベントハンドラと動かないイベントハンドラがありました。 下記のように、 $(document).on("click"~は、ready関数で囲わなくても動き、 $("#files-select").on('change'~はready関数で囲わないと動きませんでした。 もしかして、「documentをイベントリスナにすると、ready関数で囲わなくても動き、 document以外のイベントリスナのイベントハンドラは、ready関数で囲わないと動かない」、ということでしょうか? ご教示お願い致します。 ``` $(document).on("click", ".files", function(e) { }); $("#files-select").on('change', function(e) { }); ```
回答: onを呼び出しているタイミングであれば、その時点で存在するオブジェクトの場合 その中にあるセレクタでつかめるものは後から指定しても動きます。 documentや"body"などDOMであれば必ず存在するものを指定することが多いわけです。