2016-08-19 17 views
-2

私はthis jsFiddleの出力を理解しようとしています。これらのJavaScript関数はなぜ未定義ですか?

左側の「外部リソース」オプションを使用して、Google's CDNでjQuery UIをロードしています。

いくつかのものは...

  • のjQuery UI 部分的作品を私に困惑しています。私は "私をドラッグする" divをドラッグすることができます。

    jQuery UI .draggable()docs)です。 ()は、jQuery UIのテーマCSSを適用していません。.button()docs

    なぜ.draggable()が機能するのですが、.button()では使用できません。 (構文エラー?)

  • どうすればdraggableundefinedになるのですか?

    これは機能するので、正しく機能する必要がありますか?

  • どうすればclickundefinedにするのですか?

    click()はjQueryのものであり、$は関数です。 clickもそうではないでしょうか?

ここJSだ...私は取得しています

(function() { 

    $(document).ready(function() { 

    $('.dr').draggable(); 

    $('.btn').button(); 

    $('.btn').click(function(event) { 
     alert('Clicked'); 
    }); 

    $('.output').append('typeof $: ' + typeof $ + '<br />'); 

    $('.output').append('typeof draggable: ' + typeof draggable + '<br />'); 

    $('.output').append('typeof click: ' + typeof click + '<br />'); 

    $('.output').append('typeof button: ' + typeof button + '<br />'); 

    }); 

}()); 

出力は、あなたが何かにそれらを結ぶされていないためです...

typeof $: function // As expected. 
typeof draggable: undefined // How can it be undefined and still work? 
typeof click: undefined // ??? 
typeof button: undefined 
+2

なぜ '$(' ... ').draggable'を' draggable'として参照できるのでしょうか?それはJavaScriptの仕組みではありません。 – Xufox

答えて

2

機能は$().draggable$().click$().button、されていないその範囲で、window.draggablewindow.clickwindow.button探して終わる、draggableclick及びbutton、。

$().draggable$().click$().buttonの種類を取得する別の方法は、一般的に$.fnとしてエイリアスされ$.prototype、を介して行われます。だから、:

$().draggable$().click$().button、または $.prototype.draggable$.prototype.click$.prototype.buttonまたは $.fn.draggable$.fn.click$.fn.buttonは同じです。そしてそれらはdraggable,clickおよびbuttonとは異なり、あなたの機能ではwindow.draggable,window.clickおよびwindow.buttonと同じです。

+0

申し訳ありませんが、あなたが言っていることが分かります。助けてくれてありがとう。私は 'typeof $()。draggable'をテストしましたが、それは実際には関数です。大丈夫ですそれが一つのことです。 '.button()'がjQuery UI CSSを適用しない理由についてのご意見はありますか? – Ethan

+0

jsfiddleのバグのようです。 .cssファイルをタイプしたCSS「外部リソース」は正しく追加されませんでした。私はちょうどそれを削除し、再入力し、それは動作します:https://jsfiddle.net/acdcjunior/meb6Lcas/4/ – acdcjunior

0

ですので、結局、windowを見て終わります。

あなたは$.fnを探しているはずです。

-1

機能はメソッドとは異なります。 draggable$('.dr').draggableと等しくないなどです。上記使用

関連する問題