3

ready特定の条件で、DOMContentReady イベントで実際に起動しないようにバインドされているjQuery ハンドラーが必要な状況があります。これらのハンドラーは、さまざまなインクルード ファイルやプラグインなど、さまざまな場所にバインドされています。そのため、ページの上部にあるスクリプトである種のグローバル変数を設定し、ifすべてのバインディングの前にこの変数をチェックする条件を設定することはできますが$(document).ready()、そうはしません。

理想的には、次の 2 つのいずれかを探しています。

  • 呼び出しを無視するように指示するインクルードの前にjQueryオブジェクトに設定できるプロパティ.ready()
  • ハンドラーのバインドを解除するために、DOMContentReady が起動する前にインライン スクリプトで、ドキュメントの最後に向かって呼び出すことができるメソッドready()

明らかなものは、通常のイベントバインディングではない$(document).unbind('ready')ため、それを行いません。.ready()

これはできますか?もしそうなら、どのように?

私が持っていた漠然としたアイデアの 1 つは、jQuery プロトタイプを拡張し、ready()導入する新しいプロパティをチェックするメソッドに置き換えることでした。それは理にかなっていますか?

4

1 に答える 1

7

holdreadyを使用する必要があります

$.holdReady(true);
$.getScript("myplugin.js", function() {
  $.holdReady(false);
});  
于 2012-10-09T05:00:21.343 に答える