2

この基本的な例が機能しない理由はありますか?

http://jsfiddle.net/Kq6pz/

(function( $ ){

  $.fn.testPlugin = function( options ) {  
        alert('hi');
  };
})( jQuery );

$.testPlugin();
4

2 に答える 2

5

プラグインをfn名前空間ではなく名前空間に追加したためです$。したがって、機能します$().testPlugin()が、$.testPlugin()機能しません。

名前空間を汚染したい場合は、次の$ことができます。

(function( $ ){

  $.testPlugin = function( options ) {  
        alert('hi');
  };
})( jQuery );

$.testPlugin();

私が従う私の目安$.は、DOMに関連していない場合(ajaxなど)に使用$.fn.し、セレクターで取得された要素(DOM / XML要素など)を操作する場合に使用します。

于 2013-03-13T18:37:36.057 に答える
1

セレクターが必要です:

$(document).testPlugin();
$(window).testPlugin();

デモ:http: //jsfiddle.net/dirtyd77/Kq6pz/1/

于 2013-03-13T18:36:49.220 に答える