1. ホーム
  2. jquery

[解決済み】 $(document).ready(function(){ ...)を複数持つことはできますか?}); の部分を複数持つことはできますか?

2022-04-01 16:29:37

質問

起動時に多くの機能がある場合、すべて1つの機能でなければならないのでしょうか?

$(document).ready(function() {

または、そのようなステートメントを複数持つことができますか?

どのように解決するのですか?

複数持つこともできますが、それが一番すっきりするわけではありません。可読性に重大な影響を与えるので、使いすぎないようにしましょう。それ以外は、完全に合法です。下記をご覧ください。

http://www.learningjquery.com/2006/09/multiple-document-ready

ぜひお試しください。

$(document).ready(function() {
    alert('Hello Tom!');
});

$(document).ready(function() {
    alert('Hello Jeff!');
});

$(document).ready(function() {
    alert('Hello Dexter!');
});

これと同等であることがわかると思います。実行順序に注意してください。

$(document).ready(function() {
    alert('Hello Tom!');
    alert('Hello Jeff!');
    alert('Hello Dexter!');
});

また、1つの $(document).ready ブロックから呼び出すことはできません。 $(document).ready ブロックを実行したところ、このようなテストが行われました。

$(document).ready(function() {
    alert('hello1');
    function saySomething() {
        alert('something');
    }
    saySomething();

});
$(document).ready(function() {
    alert('hello2');
    saySomething();
}); 

の出力がありました。

hello1
something
hello2