3

jQueryには、ページ上の位置を基準にした要素の配置値を取得する、すぐに使用できるネイティブ.position()関数があります。

jQuery UIは同じ関数を拡張して、要素の配置を変更できるようにします。

のjQueryUIバージョンが.position()ページにロードされているかどうかを確認するにはどうすればよいですか?

残念ながら、プラグイン拡張機能はjQuery UIコアライブラリの一部ではないため、jQuery UIがページに読み込まれるかどうかを確認するだけではありません。つまり、誰かがプラグインなしでjQueryUIフレームワークを読み込むことになります。 、およびリンクされたjQueryUIチェックは失敗します。.position().position()

4

2 に答える 2

2

主な違いは、関数定義の引数の数です。標準のjQueryライブラリには0があります。jQuery UIには1があります。関数定義に含まれる引数の数がわかれば、どのライブラリの関数が存在するかがわかります。

幸いなことに、これは簡単に実行できます。関数のlengthプロパティは、関数定義に含まれる引数の数を示します。したがって、の場合、関数$.fn.position.length0標準のjQueryライブラリの関数です。もしそうなら、それは1jQueryUIライブラリです。

それで:

if ($.fn.position.length === 1) {
    // jQuery UI position method loaded
}
于 2012-09-11T20:49:21.727 に答える
1

おっと、待って; 私はそれを見つけたと思います。

jQuery UIがロードされたページは実際にjQuery.ui初期化されますが(jQuery UIチェックでは問題なく機能します)、.position()プラグインが組み込まれているページもjQuery.ui.position初期化されます。

SOに尋ねてから5分後に答えを見つけた数字。:-/

于 2012-09-11T20:49:39.853 に答える